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