Bug 32991: Local Packages: Add delete dialog to list and show. Removed FormConfirmDel...
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / routes / erm.js
1 import Home from "../components/ERM/Home.vue";
2 import AgreementsList from "../components/ERM/AgreementsList.vue";
3 import AgreementsShow from "../components/ERM/AgreementsShow.vue";
4 import AgreementsFormAdd from "../components/ERM/AgreementsFormAdd.vue";
5 import AgreementsFormConfirmDelete from "../components/ERM/AgreementsFormConfirmDelete.vue";
6 import EHoldingsLocalPackagesFormAdd from "../components/ERM/EHoldingsLocalPackagesFormAdd.vue";
7 import EHoldingsLocalTitlesFormAdd from "../components/ERM/EHoldingsLocalTitlesFormAdd.vue";
8 import EHoldingsLocalTitlesFormImport from "../components/ERM/EHoldingsLocalTitlesFormImport.vue";
9 import EHoldingsLocalPackagesList from "../components/ERM/EHoldingsLocalPackagesList.vue";
10 import EHoldingsLocalPackagesShow from "../components/ERM/EHoldingsLocalPackagesShow.vue";
11 import EHoldingsLocalResourcesShow from "../components/ERM/EHoldingsLocalResourcesShow.vue";
12 import EHoldingsLocalTitlesList from "../components/ERM/EHoldingsLocalTitlesList.vue";
13 import EHoldingsLocalTitlesShow from "../components/ERM/EHoldingsLocalTitlesShow.vue";
14 import EHoldingsEBSCOPackagesList from "../components/ERM/EHoldingsEBSCOPackagesList.vue";
15 import EHoldingsEBSCOPackagesShow from "../components/ERM/EHoldingsEBSCOPackagesShow.vue";
16 import EHoldingsEBSCOResourcesShow from "../components/ERM/EHoldingsEBSCOResourcesShow.vue";
17 import EHoldingsEBSCOTitlesList from "../components/ERM/EHoldingsEBSCOTitlesList.vue";
18 import EHoldingsEBSCOTitlesShow from "../components/ERM/EHoldingsEBSCOTitlesShow.vue";
19 import LicensesList from "../components/ERM/LicensesList.vue";
20 import LicensesShow from "../components/ERM/LicensesShow.vue";
21 import LicensesFormAdd from "../components/ERM/LicensesFormAdd.vue";
22 import LicensesFormConfirmDelete from "../components/ERM/LicensesFormConfirmDelete.vue";
23
24 const breadcrumbs = {
25     home: {
26         text: "Home", // $t("Home")
27         path: "/cgi-bin/koha/mainpage.pl",
28     },
29     erm_home: {
30         text: "E-resource management", // $t("E-resource management")
31         path: "/cgi-bin/koha/erm/erm.pl",
32     },
33     agreements: {
34         text: "Agreements", // $t("Agreements")
35         path: "/cgi-bin/koha/erm/agreements",
36     },
37     eholdings: {
38         home: {
39             text: "eHoldings", // $t("eHoldings")
40         },
41         local: {
42             home: {
43                 text: "Local", // $t("Local")
44             },
45             titles: {
46                 text: "Titles", // $t("Titles")
47                 path: "/cgi-bin/koha/erm/eholdings/local/titles",
48             },
49             packages: {
50                 text: "Packages", // $t("Packages")
51                 path: "/cgi-bin/koha/erm/eholdings/local/packages",
52             },
53         },
54         ebsco: {
55             home: {
56                 text: "EBSCO", // $t("EBSCO")
57             },
58             titles: {
59                 text: "Titles", // $t("Titles")
60                 path: "/cgi-bin/koha/erm/eholdings/ebsco/titles",
61             },
62             packages: {
63                 text: "Packages", // $t("Packages")
64                 path: "/cgi-bin/koha/erm/eholdings/ebsco/packages",
65             },
66         },
67     },
68     licenses: {
69         text: "Licenses", // $t("Licenses")
70         path: "/cgi-bin/koha/erm/licenses",
71     },
72 };
73 const breadcrumb_paths = {
74     agreements: [
75         breadcrumbs.home,
76         breadcrumbs.erm_home,
77         breadcrumbs.agreements,
78     ],
79     eholdings: [
80         breadcrumbs.home,
81         breadcrumbs.erm_home,
82         breadcrumbs.eholdings.home,
83     ],
84     eholdings_local: [
85         breadcrumbs.home,
86         breadcrumbs.erm_home,
87         breadcrumbs.eholdings.home,
88         breadcrumbs.eholdings.local.home,
89     ],
90     eholdings_ebsco: [
91         breadcrumbs.home,
92         breadcrumbs.erm_home,
93         breadcrumbs.eholdings.home,
94         breadcrumbs.eholdings.ebsco.home,
95     ],
96     licenses: [breadcrumbs.home, breadcrumbs.erm_home, breadcrumbs.licenses],
97 };
98
99 function build_breadcrumb(parent_breadcrumb, current) {
100     let breadcrumb = parent_breadcrumb.flat(Infinity);
101     if (current) {
102         breadcrumb.push({
103             text: current,
104         });
105     }
106     return breadcrumb;
107 }
108
109 export const routes = [
110     {
111         path: "/cgi-bin/koha/mainpage.pl",
112         beforeEnter(to, from, next) {
113             window.location.href = "/cgi-bin/koha/mainpage.pl";
114         },
115     },
116     {
117         path: "/cgi-bin/koha/admin/background_jobs/:id",
118         beforeEnter(to, from, next) {
119             window.location.href =
120                 "/cgi-bin/koha/admin/background_jobs.pl?op=view&id=" +
121                 to.params.id;
122         },
123     },
124     {
125         path: "/cgi-bin/koha/erm/erm.pl",
126         component: Home,
127         meta: {
128             breadcrumb: () => [breadcrumbs.home, breadcrumbs.erm_home],
129         },
130     },
131     {
132         path: "/cgi-bin/koha/erm/agreements",
133         children: [
134             {
135                 path: "",
136                 component: AgreementsList,
137                 meta: {
138                     breadcrumb: () => breadcrumb_paths.agreements,
139                 },
140             },
141             {
142                 path: ":agreement_id",
143                 component: AgreementsShow,
144                 meta: {
145                     breadcrumb: () =>
146                         build_breadcrumb(
147                             breadcrumb_paths.agreements,
148                             "Show agreement" // $t("Show agreement")
149                         ),
150                 },
151             },
152             {
153                 path: "delete/:agreement_id",
154                 component: AgreementsFormConfirmDelete,
155                 meta: {
156                     breadcrumb: () =>
157                         build_breadcrumb(
158                             breadcrumb_paths.agreements,
159                             "Delete agreement" // $t("Delete agreement")
160                         ),
161                 },
162             },
163             {
164                 path: "add",
165                 component: AgreementsFormAdd,
166                 meta: {
167                     breadcrumb: () =>
168                         build_breadcrumb(
169                             breadcrumb_paths.agreements,
170                             "Add agreement" // $t("Add agreement")
171                         ),
172                 },
173             },
174             {
175                 path: "edit/:agreement_id",
176                 component: AgreementsFormAdd,
177                 meta: {
178                     breadcrumb: () =>
179                         build_breadcrumb(
180                             breadcrumb_paths.agreements,
181                             "Edit agreement" // $t("Edit agreement")
182                         ),
183                 },
184             },
185         ],
186     },
187     {
188         path: "/cgi-bin/koha/erm/eholdings",
189         meta: {
190             breadcrumb: () => breadcrumb_paths.eholdings,
191         },
192         children: [
193             {
194                 path: "",
195                 meta: {
196                     breadcrumb: () => breadcrumb_paths.eholdings,
197                 },
198             },
199             {
200                 path: "local",
201                 children: [
202                     {
203                         path: "",
204                         meta: {
205                             breadcrumb: () => breadcrumb_paths.eholdings_local,
206                         },
207                     },
208                     {
209                         path: "packages",
210                         children: [
211                             {
212                                 path: "",
213                                 component: EHoldingsLocalPackagesList,
214                                 meta: {
215                                     breadcrumb: () =>
216                                         build_breadcrumb([
217                                             breadcrumb_paths.eholdings_local,
218                                             breadcrumbs.eholdings.local
219                                                 .packages,
220                                         ]),
221                                 },
222                             },
223                             {
224                                 path: ":package_id",
225                                 component: EHoldingsLocalPackagesShow,
226                                 meta: {
227                                     breadcrumb: () =>
228                                         build_breadcrumb(
229                                             [
230                                                 breadcrumb_paths.eholdings_local,
231                                                 breadcrumbs.eholdings.local
232                                                     .packages,
233                                             ],
234                                             "Show package" // $t("Show package")
235                                         ),
236                                 },
237                             },
238                             {
239                                 path: "add",
240                                 component: EHoldingsLocalPackagesFormAdd,
241                                 meta: {
242                                     breadcrumb: () =>
243                                         build_breadcrumb(
244                                             [
245                                                 breadcrumb_paths.eholdings_local,
246                                                 breadcrumbs.eholdings.local
247                                                     .packages,
248                                             ],
249                                             "Add package" // $t("Add package")
250                                         ),
251                                 },
252                             },
253                             {
254                                 path: "edit/:package_id",
255                                 component: EHoldingsLocalPackagesFormAdd,
256                                 meta: {
257                                     breadcrumb: () =>
258                                         build_breadcrumb(
259                                             [
260                                                 breadcrumb_paths.eholdings_local,
261                                                 breadcrumbs.eholdings.local
262                                                     .packages,
263                                             ],
264                                             "Edit package" // $t("Edit package")
265                                         ),
266                                 },
267                             },
268                         ],
269                     },
270                     {
271                         path: "titles",
272                         children: [
273                             {
274                                 path: "",
275                                 component: EHoldingsLocalTitlesList,
276                                 meta: {
277                                     breadcrumb: () =>
278                                         build_breadcrumb([
279                                             breadcrumb_paths.eholdings_local,
280                                             breadcrumbs.eholdings.local.titles,
281                                         ]),
282                                 },
283                             },
284                             {
285                                 path: ":title_id",
286                                 component: EHoldingsLocalTitlesShow,
287                                 meta: {
288                                     breadcrumb: () =>
289                                         build_breadcrumb(
290                                             [
291                                                 breadcrumb_paths.eholdings_local,
292                                                 breadcrumbs.eholdings.local
293                                                     .titles,
294                                             ],
295                                             "Show title" // $t("Show title")
296                                         ),
297                                 },
298                             },
299                             {
300                                 path: "add",
301                                 component: EHoldingsLocalTitlesFormAdd,
302                                 meta: {
303                                     breadcrumb: () =>
304                                         build_breadcrumb(
305                                             [
306                                                 breadcrumb_paths.eholdings_local,
307                                                 breadcrumbs.eholdings.local
308                                                     .titles,
309                                             ],
310                                             "Add title" // $t("Add title")
311                                         ),
312                                 },
313                             },
314                             {
315                                 path: "edit/:title_id",
316                                 component: EHoldingsLocalTitlesFormAdd,
317                                 meta: {
318                                     breadcrumb: () =>
319                                         build_breadcrumb(
320                                             [
321                                                 breadcrumb_paths.eholdings_local,
322                                                 breadcrumbs.eholdings.local
323                                                     .titles,
324                                             ],
325                                             "Edit title" // $t("Edit title")
326                                         ),
327                                 },
328                             },
329                             {
330                                 path: "import",
331                                 component: EHoldingsLocalTitlesFormImport,
332                                 meta: {
333                                     breadcrumb: () =>
334                                         build_breadcrumb(
335                                             [
336                                                 breadcrumb_paths.eholdings_local,
337                                                 breadcrumbs.eholdings.local
338                                                     .titles,
339                                             ],
340                                             "Import from a list" // $t("Import from a list")
341                                         ),
342                                 },
343                             },
344                         ],
345                     },
346                     {
347                         path: "resources/:resource_id",
348                         component: EHoldingsLocalResourcesShow,
349                         meta: {
350                             breadcrumb: () =>
351                                 build_breadcrumb(
352                                     [
353                                         breadcrumb_paths.eholdings_local,
354                                         breadcrumbs.eholdings.local.titles,
355                                     ],
356                                     "Resource" // $t("Resource")
357                                 ),
358                         },
359                     },
360                 ],
361             },
362             {
363                 path: "ebsco",
364                 children: [
365                     {
366                         path: "",
367                         meta: {
368                             breadcrumb: () => breadcrumb_paths.eholdings_ebsco,
369                         },
370                     },
371                     {
372                         path: "packages",
373                         children: [
374                             {
375                                 path: "",
376                                 component: EHoldingsEBSCOPackagesList,
377                                 meta: {
378                                     breadcrumb: () =>
379                                         build_breadcrumb([
380                                             breadcrumb_paths.eholdings_ebsco,
381                                             breadcrumbs.eholdings.ebsco
382                                                 .packages,
383                                         ]),
384                                 },
385                             },
386                             {
387                                 path: ":package_id",
388                                 component: EHoldingsEBSCOPackagesShow,
389                                 meta: {
390                                     breadcrumb: () =>
391                                         build_breadcrumb(
392                                             [
393                                                 breadcrumb_paths.eholdings_ebsco,
394                                                 breadcrumbs.eholdings.ebsco
395                                                     .packages,
396                                             ],
397                                             "Show package" // $t("Show package")
398                                         ),
399                                 },
400                             },
401                         ],
402                     },
403                     {
404                         path: "titles",
405                         children: [
406                             {
407                                 path: "",
408                                 component: EHoldingsEBSCOTitlesList,
409                                 meta: {
410                                     breadcrumb: () =>
411                                         build_breadcrumb([
412                                             breadcrumb_paths.eholdings_ebsco,
413                                             breadcrumbs.eholdings.ebsco.titles,
414                                         ]),
415                                 },
416                             },
417                             {
418                                 path: ":title_id",
419                                 component: EHoldingsEBSCOTitlesShow,
420                                 meta: {
421                                     breadcrumb: () =>
422                                         build_breadcrumb(
423                                             [
424                                                 breadcrumb_paths.eholdings_ebsco,
425                                                 breadcrumbs.eholdings.ebsco
426                                                     .titles,
427                                             ],
428                                             "Show title" // $t("Show title")
429                                         ),
430                                 },
431                             },
432                         ],
433                     },
434                     {
435                         path: "resources/:resource_id",
436                         component: EHoldingsEBSCOResourcesShow,
437                         meta: {
438                             breadcrumb: () =>
439                                 build_breadcrumb(
440                                     [
441                                         breadcrumb_paths.eholdings_ebsco,
442                                         breadcrumbs.eholdings.ebsco.titles,
443                                     ],
444                                     "Resource" // $t("Resource")
445                                 ),
446                         },
447                     },
448                 ],
449             },
450         ],
451     },
452     {
453         path: "/cgi-bin/koha/erm/licenses",
454         children: [
455             {
456                 path: "",
457                 component: LicensesList,
458                 meta: {
459                     breadcrumb: () => breadcrumb_paths.licenses,
460                 },
461             },
462             {
463                 path: ":license_id",
464                 component: LicensesShow,
465                 meta: {
466                     breadcrumb: () =>
467                         build_breadcrumb(
468                             breadcrumb_paths.licenses,
469                             "Show license" // $t("Show license")
470                         ),
471                 },
472             },
473             {
474                 path: "delete/:license_id",
475                 component: LicensesFormConfirmDelete,
476                 meta: {
477                     breadcrumb: () =>
478                         build_breadcrumb(
479                             breadcrumb_paths.licenses,
480                             "Delete license" // $t("Delete license")
481                         ),
482                 },
483             },
484             {
485                 path: "add",
486                 component: LicensesFormAdd,
487                 meta: {
488                     breadcrumb: () =>
489                         build_breadcrumb(
490                             breadcrumb_paths.licenses,
491                             "Add license" // $t("Add license")
492                         ),
493                 },
494             },
495             {
496                 path: "edit/:license_id",
497                 component: LicensesFormAdd,
498                 meta: {
499                     breadcrumb: () =>
500                         build_breadcrumb(
501                             breadcrumb_paths.licenses,
502                             "Edit license" // $t("Edit license")
503                         ),
504                 },
505             },
506         ],
507     },
508 ];