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