import ngModule from '../../module'; import Section from 'salix/components/section'; class Controller extends Section { get checked() { const roadmaps = this.$.model.data || []; const checkedRoadmap = []; for (let roadmap of roadmaps) { if (roadmap.checked) checkedRoadmap.push(roadmap); } return checkedRoadmap; } get totalChecked() { return this.checked.length; } preview(roadmap) { this.roadmapSelected = roadmap; this.$.summary.show(); } openClonationDialog() { this.$.clonationDialog.show(); this.etd = Date.vnNew(); } cloneSelectedRoadmaps() { try { if (!this.etd) throw new Error(`The date can't be empty`); const roadmapsIds = []; for (let roadmap of this.checked) roadmapsIds.push(roadmap.id); return this.$http.post('Roadmaps/clone', {ids: roadmapsIds, etd: this.etd}).then(() => { this.$.model.refresh(); this.vnApp.showSuccess(this.$t('Data saved!')); }); } catch (e) { this.vnApp.showError(this.$t(e.message)); } } deleteRoadmaps() { for (const roadmap of this.checked) { this.$http.delete(`Roadmaps/${roadmap.id}`) .then(() => this.$.model.refresh()) .then(() => this.vnApp.showSuccess(this.$t('Roadmaps removed'))); } } } ngModule.vnComponent('vnRoadmapIndex', { template: require('./index.html'), controller: Controller });