@@ -, +, @@ --- .../js/src/admin/components/datepicker.vue | 33 ++ .../admin/policy/components/policyMain.vue | 351 ++++++++++++++++++ .../admin/policy/components/policySidebar.vue | 102 +++++ .../admin/policy/components/policyTags.vue | 68 ++++ .../prog/js/src/admin/policy/main.d.ts | 22 ++ .../prog/js/src/admin/policy/main.ts | 73 ++++ 6 files changed, 649 insertions(+) create mode 100644 koha-tmpl/intranet-tmpl/prog/js/src/admin/components/datepicker.vue create mode 100644 koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policyMain.vue create mode 100644 koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policySidebar.vue create mode 100644 koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policyTags.vue create mode 100644 koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/main.d.ts create mode 100644 koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/main.ts --- a/koha-tmpl/intranet-tmpl/prog/js/src/admin/components/datepicker.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/src/admin/components/datepicker.vue @@ -0,0 +1,33 @@ + + --- a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policyMain.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policyMain.vue @@ -0,0 +1,351 @@ + + --- a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policySidebar.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policySidebar.vue @@ -0,0 +1,102 @@ + + --- a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policyTags.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/components/policyTags.vue @@ -0,0 +1,68 @@ + + --- a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/main.d.ts +++ a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/main.d.ts @@ -0,0 +1,22 @@ +declare function _ (text: string, ...params: any[]): string +declare function $ (text: string, ...params: any[]): any +declare function validate_date (date: string, obj: object): void +declare function is_valid_date (date: string): boolean + +type KOHA = { + BRANCHES: object, + ITEM_TYPES: object, + PATRON_CATEGORIES: object +} + +declare interface String { + format(...string):string +} + +type HUMANMSG = { + displayMsg(string, any): void, + displayAlert(string, any): void +} + +declare var Koha: KOHA + declare var humanMsg:HUMANMSG --- a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/main.ts +++ a/koha-tmpl/intranet-tmpl/prog/js/src/admin/policy/main.ts @@ -0,0 +1,73 @@ +/// + +import {createApp} from "vue/dist/vue.esm-bundler"; +// @ts-ignore +import PolicySidebar from "./components/policySidebar.vue"; +// @ts-ignore +import PolicyMain from "./components/policyMain.vue"; +// @ts-ignore +import PolicyTags from "./components/policyTags.vue"; + + +createApp({ + template: ` +
+
+

{{title}}

+
+ + +
+
+
+
+ + + +
+
+ `, + data() { + return { + title: _('Circulation, fines, and holds rules'), + current: {}, + selected: {}, + doSave: false, + doClear: false, + edited: [], + saved: false + } + }, + computed: { + libraries() { + const libs = Object.keys(Koha.BRANCHES).map(code => { + return {code, name: Koha.BRANCHES[code].branchname, show: true} + }) + return [{code: '', name: _('All libraries'), show: true}].concat(libs) + }, + categories() { + const cats = Object.keys(Koha.PATRON_CATEGORIES).map(code => { + return {code, name: Koha.PATRON_CATEGORIES[code].description, show: true} + }) + return [{code: '', name: _('All categories'), show: true}].concat(cats) + }, + itemtypes() { + const itypes = Object.keys(Koha.ITEM_TYPES).map(code => { + return {code, name: Koha.ITEM_TYPES[code].description, show: true} + }) + return [{code: '', name: _('All item types'), show: true}].concat(itypes) + } + }, + methods: { + setEdited(edited) { + this.edited = edited + this.doSave = false + this.doClear = false + } + }, + components: { + PolicySidebar, + PolicyMain, + PolicyTags + } +}).mount("#vue-base"); --