aboutsummaryrefslogtreecommitdiffstats
path: root/moon_dashboard/moon/static/moon/model/model.controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'moon_dashboard/moon/static/moon/model/model.controller.js')
-rw-r--r--moon_dashboard/moon/static/moon/model/model.controller.js316
1 files changed, 0 insertions, 316 deletions
diff --git a/moon_dashboard/moon/static/moon/model/model.controller.js b/moon_dashboard/moon/static/moon/model/model.controller.js
deleted file mode 100644
index 99a7c7ed..00000000
--- a/moon_dashboard/moon/static/moon/model/model.controller.js
+++ /dev/null
@@ -1,316 +0,0 @@
-(function () {
- 'use strict';
-
- angular
- .module('moon')
- .directive('onReadFile', directive)
- .controller('moon.model.controller', controller);
-
- controller.$inject = ['moon.util.service', 'moon.model.service', 'moon.import.service', 'horizon.framework.widgets.form.ModalFormService'];
-
- directive.$inject = ['$parse'];
-
- function directive($parse) {
- return {
- restrict: 'A',
- scope: false,
- link: function (scope, element, attrs) {
- element.bind('change', function (e) {
-
- var onFileRead = $parse(attrs.onReadFile);
- var reader = new FileReader();
-
- reader.onload = function () {
- var fileContents = reader.result;
- scope.$apply(function () {
- onFileRead(scope, {
- 'contents': fileContents
- });
- });
- };
- reader.readAsText(element[0].files[0]);
- });
- }
- };
- }
-
- var categoryMap = {
- 'subject': {
- addTitle: 'Add Subject Category',
- removeTitleFromMetaRule: 'Are you sure to remove from meta rule this Subject Category?',
- removeTitle: 'Are you sure to remove this Subject Category?',
- listName: 'subject_categories',
- serviceListName: 'subjectCategories'
- },
- 'object': {
- addTitle: 'Add Object Category',
- removeTitleFromMetaRule: 'Are you sure to remove from meta rule this Object Category?',
- removeTitle: 'Are you sure to remove this Object Category?',
- listName: 'object_categories',
- serviceListName: 'objectCategories'
- },
- 'action': {
- addTitle: 'Add Action Category',
- removeTitleFromMetaRule: 'Are you sure to remove from meta rule this Action Category?',
- removeTitle: 'Are you sure to remove this Action Category?',
- listName: 'action_categories',
- serviceListName: 'actionCategories'
- },
- }
-
- function controller(util, modelService, importService, ModalFormService) {
- var self = this;
- self.model = modelService;
- self.showOrphan = false;
- modelService.initialize();
-
- self.importData = function importData(text) {
- horizon.modals.modal_spinner(gettext("Loading"))
- importService.importData(JSON.parse(text)).then(function () {
- modelService.initialize();
- horizon.modals.spinner.modal('hide');
- })
- }
-
- self.createModel = function createModel() {
- var schema = {
- type: "object",
- properties: {
- name: { type: "string", minLength: 2, title: gettext("Name") },
- description: { type: "string", minLength: 2, title: gettext("Description") }
- },
- required: ['name', 'description']
- };
- var model = { name: '', description: '' };
- var config = {
- title: gettext('Create Model'),
- schema: schema,
- form: ['name', { key: 'description', type: 'textarea' }],
- model: model
- };
- ModalFormService.open(config).then(submit);
-
- function submit(form) {
- modelService.createModel(form.model);
- }
- }
-
- self.updateModel = function updateModel(model) {
- var schema = {
- type: "object",
- properties: {
- name: { type: "string", minLength: 2, title: gettext("Name") },
- description: { type: "string", minLength: 2, title: gettext("Description") }
- },
- required: ['name', 'description']
- };
- var config = {
- title: gettext('Update Model'),
- schema: schema,
- form: ['name', { key: 'description', type: 'textarea' }],
- model: angular.copy(model)
- };
- ModalFormService.open(config).then(submit);
-
- function submit(form) {
- modelService.updateModel(form.model);
- }
- }
-
- self.removeModel = function removeModel(model) {
- if (confirm(gettext('Are you sure to delete this Model?')))
- modelService.removeModel(model);
- }
-
- self.createMetaRuleFunction = function createMetaRuleFunction(model, titleMap) {
- return function () {
- var schema = {
- type: "object",
- properties: {
- name: { type: "string", minLength: 2, title: gettext("Name") },
- description: { type: "string", minLength: 2, title: gettext("Description") },
- },
- required: ['name', 'description']
- };
- var metaRule = { name: '', description: '' };
- var config = {
- title: gettext('Create Meta Rule'),
- schema: schema,
- form: [
- 'name',
- { key: 'description', type: 'textarea' }
- ],
- model: metaRule
- };
- ModalFormService.open(config).then(submit);
-
- function submit(form) {
- modelService.createMetaRule(form.model).then(function (metaRule) {
- titleMap.push({ value: metaRule.id, name: metaRule.name })
- model.id = metaRule.id
- })
- }
- }
- }
-
- self.addMetaRule = function addMetaRule(model) {
- var schema = {
- type: "object",
- properties: {
- id: { type: "string", title: gettext("Select a Meta Rule:") }
- },
- required: ['id']
- };
- var titleMap = util.arrayToTitleMap(modelService.metaRules)
- var formModel = { id: null }
- var config = {
- title: gettext('Add Meta Rule'),
- schema: schema,
- form: [
- { key: 'id', type: 'select', titleMap: titleMap },
- {
- key: 'createButton',
- type: 'button',
- title: gettext('Create Meta Rule'),
- icon: 'fa fa-plus',
- onClick: self.createMetaRuleFunction(formModel, titleMap)
- }
- ],
- model: formModel
- };
- if (modelService.metaRules.length == 1) {
- formModel.id = modelService.metaRules[0].id
- }
-
- ModalFormService.open(config).then(submit);
-
- function submit(form) {
- var metaRule = modelService.getMetaRule(form.model.id);
- var modelCopy = angular.copy(model);
- modelCopy.meta_rules.push(metaRule);
- modelService.updateModel(modelCopy);
- }
- }
-
- self.updateMetaRule = function updateMetaRule(metaRule) {
- var schema = {
- type: "object",
- properties: {
- name: { type: "string", minLength: 2, title: gettext("Name") },
- description: { type: "string", minLength: 2, title: gettext("Description") }
- },
- required: ['name', 'description']
- };
- var metaRuleCopy = angular.copy(metaRule);
- var config = {
- title: gettext('Update Meta Rule'),
- schema: schema,
- form: ['name', { key: 'description', type: 'textarea' }],
- model: metaRuleCopy
- };
- ModalFormService.open(config).then(submit);
-
- function submit(form) {
- modelService.updateMetaRule(form.model);
- }
- }
-
- self.removeMetaRuleFromModel = function removeMetaRuleFromModel(model, metaRule) {
- if (confirm(gettext('Are you sure to remove this Meta Rule from model?'))) {
- var modelCopy = angular.copy(model);
- modelCopy.meta_rules.splice(model.meta_rules.indexOf(metaRule), 1);
- modelService.updateModel(modelCopy);
- }
- }
-
- self.removeMetaRule = function removeMetaRule(metaRule) {
- if (confirm(gettext('Are you sure to remove this Meta Rule?'))) {
- modelService.removeMetaRule(metaRule);
- }
- }
-
- self.createCategoryFunction = function createCategoryFunction(type, formModel, titleMap) {
- return function () {
- var schema = {
- type: "object",
- properties: {
- name: { type: "string", minLength: 2, title: gettext("Name") },
- description: { type: "string", minLength: 2, title: gettext("Description") },
- },
- required: ['name', 'description']
- };
- var metaRule = { name: '', description: '' };
- var config = {
- title: gettext('Create Category'),
- schema: schema,
- form: [
- 'name',
- { key: 'description', type: 'textarea' }
- ],
- model: metaRule
- };
- ModalFormService.open(config).then(submit);
-
- function submit(form) {
- modelService.createCategory(type, form.model).then(function (category) {
- titleMap.push({ value: category.id, name: category.name })
- formModel.id = category.id
- })
- }
- }
- }
-
- self.addCategory = function addCategory(type, metaRule) {
- var typeValue = categoryMap[type];
- var schema = {
- type: "object",
- properties: {
- id: { type: "string", title: gettext("Select a Category:") }
- },
- required: ['id']
- };
- var titleMap = util.arrayToTitleMap(modelService[typeValue.serviceListName])
- var formModel = { id: null }
- var config = {
- title: gettext(typeValue.addTitle),
- schema: schema,
- form: [
- { key: 'id', type: 'select', titleMap: titleMap },
- {
- key: 'createButton',
- type: 'button',
- title: gettext('Create Category'),
- icon: 'fa fa-plus',
- onClick: self.createCategoryFunction(type, formModel, titleMap)
- }],
- model: formModel
- };
- ModalFormService.open(config).then(submit);
-
- function submit(form) {
- var category = modelService.getCategory(type, form.model.id);
- var metaRuleCopy = angular.copy(metaRule);
- metaRuleCopy[typeValue.listName].push(category);
- modelService.updateMetaRule(metaRuleCopy)
- }
- }
-
- self.removeCategoryFromMetaRule = function removeCategoryFromMetaRule(type, metaRule, category) {
- var typeValue = categoryMap[type];
- if (confirm(gettext(typeValue.removeTitleFromMetaRule))) {
- var metaRuleCopy = angular.copy(metaRule);
- metaRuleCopy[typeValue.listName].splice(metaRule[typeValue.listName].indexOf(category), 1);
- modelService.updateMetaRule(metaRuleCopy);
- }
- }
-
- self.removeCategory = function removeCategory(type, category) {
- var typeValue = categoryMap[type];
- if (confirm(gettext(typeValue.removeTitle))) {
- modelService.removeCategory(type, category);
- }
- }
-
-
- }
-})(); \ No newline at end of file