2 <h2>{{ $__("Import from a list") }}</h2>
3 <div v-if="job_id" class="dialog message">
4 {{ $__("Import in progress,") }}
5 <router-link :to="`/cgi-bin/koha/admin/background_jobs/${job_id}`">
6 {{ $__("see job #%s").format(job_id) }}
9 <div id="package_list">
10 {{ $__("To the following local package") }}:
14 :reduce="p => p.package_id"
20 <div id="import_list_result">
21 <table :id="table_id"></table>
26 import { setMessage, setError, setWarning } from "../../messages"
27 import { createVNode, render } from "vue"
28 import { useDataTable } from "../../composables/datatables"
29 import { checkError, fetchLocalPackages } from "../../fetch.js"
33 const table_id = "list_list"
34 useDataTable(table_id)
49 fetchLocalPackages().then(packages => {
50 this.packages = packages
51 if (this.packages.length) {
52 this.package_id = packages[0].package_id
57 import_from_list: async function (list_id) {
58 if (!this.package_id) {
59 setError(this.$__("Cannot import, no package selected"))
63 await fetch("/api/v1/erm/eholdings/local/titles/import", {
65 body: JSON.stringify({ list_id, package_id: this.package_id }),
67 Accept: "application/json",
68 "Content-Type": "application/json",
74 this.job_id = result.job_id
81 build_datatable: function () {
82 let lists = this.logged_in_user_lists
83 let table_id = this.table_id
84 let import_from_list = this.import_from_list
85 $("#" + table_id).dataTable(
86 $.extend(true, {}, dataTablesDefaults, {
97 render: function (data, type, row, meta) {
107 title: __("Actions"),
108 data: function (row, type, val, meta) {
109 return '<div class="actions"></div>'
111 className: "actions noExport",
116 drawCallback: function (settings) {
117 var api = new $.fn.dataTable.Api(settings)
120 $(this).find("td .actions"),
121 function (index, e) {
122 let tr = $(this).parent().parent()
123 let list_id = api.row(tr).data().shelfnumber
124 let importButton = createVNode(
127 class: "btn btn-default btn-xs",
130 import_from_list(list_id)
135 class: "fa fa-download",
136 "aria-hidden": "true",
142 let n = createVNode("span", {}, [importButton])
152 this.build_datatable()
154 name: "EHoldingsLocalTitlesFormImport",
158 fieldset.rows label {