From 47ee7e46295965f88f95ee1971c6bccbced247a9 Mon Sep 17 00:00:00 2001 From: yasushiito Date: Fri, 27 Jun 2014 11:45:08 +0900 Subject: [PATCH] fix ap --- app/assets/javascripts/admin.js | 2 +- app/assets/javascripts/ap.js | 29 +++++++++++---- .../local_manifest/local_manifest.js.coffee | 13 +++++++ app/assets/javascripts/main.js.coffee | 11 ++++-- .../javascripts/manifest/controller.js.coffee | 8 +++++ app/assets/javascripts/manifest/filer.js.coffee | 34 ------------------ app/assets/javascripts/manifest/item.js.coffee | 20 +++++++++++ .../javascripts/manifest/item/base.js.coffee | 35 ++++++++++++++++++ .../javascripts/manifest/item/binder.js.coffee | 8 +++++ .../javascripts/manifest/item/boost.js.coffee | 8 +++++ .../javascripts/manifest/item/content.js.coffee | 8 +++++ .../javascripts/manifest/item/element.js.coffee | 10 ++++++ .../javascripts/manifest/item/item.js.coffee | 8 +++++ .../javascripts/manifest/item/leaf.js.coffee | 11 ++++++ .../javascripts/manifest/item/owner.js.coffee | 8 +++++ .../javascripts/manifest/item/root.js.coffee | 8 +++++ .../manifest/item/system_resource.js.coffee | 8 +++++ .../javascripts/manifest/item/template.js.coffee | 8 +++++ app/assets/javascripts/manifest/manifest.js.coffee | 16 +++++++++ app/assets/javascripts/manifest/model.js.coffee | 8 +++++ .../javascripts/manifest/system_resource.js.coffee | 41 ++++++++++++++++++++++ .../manifest/system_resource/template.js.coffee | 26 ++++++++++++++ .../javascripts/manifest_base/base.js.coffee | 28 +++++++++++++++ .../javascripts/manifest_base/factory.js.coffee | 25 +++++++++++++ .../manifest_base/manifest_base.js.coffee | 38 ++++++++++++++++++++ .../manifest_base/name_values.js.coffee | 27 ++++++++++++++ .../javascripts/manifest_base/names.js.coffee | 25 +++++++++++++ .../javascripts/manifest_base/type_args.js.coffee | 28 +++++++++++++++ .../manifest_base/type_name_args.coffee | 29 +++++++++++++++ .../javascripts/manifest_base/values.js.coffee | 26 ++++++++++++++ .../{manifest => }/work/buckets.js.coffee.erb | 0 .../{manifest => }/work/controllers.js.coffee.erb | 0 .../{manifest => }/work/filers.js.coffee.erb | 0 .../{manifest => }/work/forms.js.coffee.erb | 0 .../{manifest => }/work/items.js.coffee.erb | 0 .../{manifest => }/work/list_groups.js.coffee.erb | 0 .../work/magic_numbers.js.coffee.erb | 0 .../{manifest => }/work/models.js.coffee.erb | 0 .../{manifest => }/work/profilers.js.coffee.erb | 0 .../work/system_resources.js.coffee.erb | 0 app/views/layouts/ap.html.erb | 4 +-- 41 files changed, 513 insertions(+), 45 deletions(-) create mode 100644 app/assets/javascripts/local_manifest/local_manifest.js.coffee create mode 100644 app/assets/javascripts/manifest/controller.js.coffee delete mode 100644 app/assets/javascripts/manifest/filer.js.coffee create mode 100644 app/assets/javascripts/manifest/item.js.coffee create mode 100644 app/assets/javascripts/manifest/item/base.js.coffee create mode 100644 app/assets/javascripts/manifest/item/binder.js.coffee create mode 100644 app/assets/javascripts/manifest/item/boost.js.coffee create mode 100644 app/assets/javascripts/manifest/item/content.js.coffee create mode 100644 app/assets/javascripts/manifest/item/element.js.coffee create mode 100644 app/assets/javascripts/manifest/item/item.js.coffee create mode 100644 app/assets/javascripts/manifest/item/leaf.js.coffee create mode 100644 app/assets/javascripts/manifest/item/owner.js.coffee create mode 100644 app/assets/javascripts/manifest/item/root.js.coffee create mode 100644 app/assets/javascripts/manifest/item/system_resource.js.coffee create mode 100644 app/assets/javascripts/manifest/item/template.js.coffee create mode 100644 app/assets/javascripts/manifest/manifest.js.coffee create mode 100644 app/assets/javascripts/manifest/model.js.coffee create mode 100644 app/assets/javascripts/manifest/system_resource.js.coffee create mode 100644 app/assets/javascripts/manifest/system_resource/template.js.coffee create mode 100644 app/assets/javascripts/manifest_base/base.js.coffee create mode 100644 app/assets/javascripts/manifest_base/factory.js.coffee create mode 100644 app/assets/javascripts/manifest_base/manifest_base.js.coffee create mode 100644 app/assets/javascripts/manifest_base/name_values.js.coffee create mode 100644 app/assets/javascripts/manifest_base/names.js.coffee create mode 100644 app/assets/javascripts/manifest_base/type_args.js.coffee create mode 100644 app/assets/javascripts/manifest_base/type_name_args.coffee create mode 100644 app/assets/javascripts/manifest_base/values.js.coffee rename app/assets/javascripts/{manifest => }/work/buckets.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/controllers.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/filers.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/forms.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/items.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/list_groups.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/magic_numbers.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/models.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/profilers.js.coffee.erb (100%) rename app/assets/javascripts/{manifest => }/work/system_resources.js.coffee.erb (100%) diff --git a/app/assets/javascripts/admin.js b/app/assets/javascripts/admin.js index f9a696c3..e3794847 100644 --- a/app/assets/javascripts/admin.js +++ b/app/assets/javascripts/admin.js @@ -6,5 +6,5 @@ // //= require jquery //= require jquery_ujs -//= require_directory ./manifest/work +//= require_directory ./work //= require system diff --git a/app/assets/javascripts/ap.js b/app/assets/javascripts/ap.js index 6c5ef456..04006a03 100644 --- a/app/assets/javascripts/ap.js +++ b/app/assets/javascripts/ap.js @@ -13,11 +13,28 @@ //= require textchange //= require underscore //= require backbone -//= require_directory ./manifest +//= require ./manifest_base/manifest_base +//= require ./manifest_base/base +//= require ./manifest_base/factory +//= require ./manifest_base/values +//= require ./manifest_base/name_values +//= require ./manifest_base/type_args +//= require ./manifest_base/type_name_args +//= require ./manifest_base/names +//= require ./manifest/manifest +//= require ./manifest/item +//= require ./manifest/item/boost +//= require ./manifest/item/base +//= require ./manifest/item/item +//= require ./manifest/item/owner +//= require ./manifest/item/system_resource +//= require ./manifest/item/template +//= require ./manifest/item/content +//= require ./manifest/item/root +//= require ./manifest/item/element +//= require ./manifest/item/binder +//= require ./manifest/item/leaf +//= require ./manifest/system_resource +//= require ./manifest/system_resource/template //= require_directory ./views -//= require pettanr_editor -//= require writing_formats -//= require_directory ./helpers -//= require speech_balloon_templates -//= require panels //= require main diff --git a/app/assets/javascripts/local_manifest/local_manifest.js.coffee b/app/assets/javascripts/local_manifest/local_manifest.js.coffee new file mode 100644 index 00000000..69f6c463 --- /dev/null +++ b/app/assets/javascripts/local_manifest/local_manifest.js.coffee @@ -0,0 +1,13 @@ +class LocalManifest + constructor: (local_json) -> + @module_names = [] + @local_json = local_json || {} + + init: () -> + @list_groups = ListGroup.load(self, @local_json, 'list_groups') + @filers = Filer.load(self, @local_json, 'filers') + @profilers = Profiler.load(self, @local_json, 'profilers') + @forms = Form.load(self, @local_json, 'forms') + @buckets = Bucket.load(self, @local_json, 'buckets') + +@LocalManifest = LocalManifest diff --git a/app/assets/javascripts/main.js.coffee b/app/assets/javascripts/main.js.coffee index 51b13b92..2e2c8162 100644 --- a/app/assets/javascripts/main.js.coffee +++ b/app/assets/javascripts/main.js.coffee @@ -3,10 +3,17 @@ $ -> interpolate: /\<\&\=(.+?)\&\>/g, evaluate: /\<\&(.+?)\&\>/g } + loaded_manifest = null + $.ajaxSetup({async: false}) $.getJSON('/manifest.json', null, (data) => - window.manifest = data ) + loaded_manifest = new Manifest(data) ) $.getJSON('/local_manifest.json', null, (data) => - window.local_manifest = data ) + window.loaded_local_manifest = new LocalManifest(data) + ) + $.ajaxSetup({async: true}) + loaded_manifest.init() + t = new ManifestBase.Base('manifest', 'name', 'json', 'module_name') + t.set_default() class Pettanr extends Backbone.View el: '#pettanr' initialize: -> diff --git a/app/assets/javascripts/manifest/controller.js.coffee b/app/assets/javascripts/manifest/controller.js.coffee new file mode 100644 index 00000000..4e9f9054 --- /dev/null +++ b/app/assets/javascripts/manifest/controller.js.coffee @@ -0,0 +1,8 @@ +class Manifest.Controller + constructor: (item_name) -> + @item_name = item_name + + model_name: () -> + header: () -> + paginate: () -> + diff --git a/app/assets/javascripts/manifest/filer.js.coffee b/app/assets/javascripts/manifest/filer.js.coffee deleted file mode 100644 index f7cbc711..00000000 --- a/app/assets/javascripts/manifest/filer.js.coffee +++ /dev/null @@ -1,34 +0,0 @@ -class Filer - class Symbol - constructor: (conf) -> - @conf = conf - visible: () -> - true - class FileItem - constructor: (item) -> - @item = item - symbol: () -> - @item - caption: () -> - summary: () -> - icon: () -> - date: () -> - edit: () -> - - constructor: (item_name, items) -> - @item_name = item_name - @items = items - @symbol = new Symbol({ }) - @caption = new Symbol({ }) - @summary = new Symbol({ }) - @icon = new Symbol({ }) - @date = new Symbol({ }) - @edit = new Symbol({ }) - @file_items = _.map @items, (item) -> - new FileItem(item) - - model_name: () -> - header: () -> - paginate: () -> - -@Filer = Filer diff --git a/app/assets/javascripts/manifest/item.js.coffee b/app/assets/javascripts/manifest/item.js.coffee new file mode 100644 index 00000000..809aa47a --- /dev/null +++ b/app/assets/javascripts/manifest/item.js.coffee @@ -0,0 +1,20 @@ +class Manifest.ItemFactory extends ManifestBase.Factory + + @types: () -> + { + 'item': Manifest.ItemModule.ItemPeta, + 'owner': Manifest.ItemModule.OwnerPeta, + 'system_resource': Manifest.ItemModule.SystemResourcePeta, + 'template': Manifest.ItemModule.TemplatePeta, + 'content': Manifest.ItemModule.ContentPeta, + 'root': Manifest.ItemModule.RootPeta, + 'element': Manifest.ItemModule.ElementPeta, + 'binder': Manifest.ItemModule.BinderPeta, + 'leaf': LeafPeta + } + + @default_type: () -> + 'item' + +class Manifest.ItemModule + diff --git a/app/assets/javascripts/manifest/item/base.js.coffee b/app/assets/javascripts/manifest/item/base.js.coffee new file mode 100644 index 00000000..c86ee17c --- /dev/null +++ b/app/assets/javascripts/manifest/item/base.js.coffee @@ -0,0 +1,35 @@ +class Manifest.ItemModule.BasePeta extends ManifestBase.TypeNameArgs + + set_default: () -> + super() + @args['boost'] ||= {} + + init: () -> + super() + @parent_model_name = null # init at leaf, element + @boost = ManifestBase.load_name_values(this, @args, 'boost', Boost) + + is_element: () -> + @parent_model_name != null + + find_boost_name: (column_name) -> + _.each @boost, (boost_name, boost_manifest) -> + return boost_name if boost_manifest.settings_column_name == column_name + null + + is_extend_column: (column_name) -> + _.each @boost, (boost_name, boost_manifest) -> + return true if boost_manifest.extend_column_name == column_name + false + + supply_defaults: (item) -> + _.each @boost, (name, manifest) -> + manifest.supply_default item + + overwrites: (item) -> + _.each @boost, (name, manifest) -> + manifest.overwrite item + + model: () -> + Manifest.item_name_to_model @name + diff --git a/app/assets/javascripts/manifest/item/binder.js.coffee b/app/assets/javascripts/manifest/item/binder.js.coffee new file mode 100644 index 00000000..2eb5998d --- /dev/null +++ b/app/assets/javascripts/manifest/item/binder.js.coffee @@ -0,0 +1,8 @@ +class Manifest.ItemModule.BinderPeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + + init: () -> + super() + diff --git a/app/assets/javascripts/manifest/item/boost.js.coffee b/app/assets/javascripts/manifest/item/boost.js.coffee new file mode 100644 index 00000000..dce621fb --- /dev/null +++ b/app/assets/javascripts/manifest/item/boost.js.coffee @@ -0,0 +1,8 @@ +class Manifest.ItemModule.Boost extends ManifestBase.NameValues + + set_default: () -> + super() + + init: () -> + super() + diff --git a/app/assets/javascripts/manifest/item/content.js.coffee b/app/assets/javascripts/manifest/item/content.js.coffee new file mode 100644 index 00000000..3ef9001b --- /dev/null +++ b/app/assets/javascripts/manifest/item/content.js.coffee @@ -0,0 +1,8 @@ +class Manifest.ItemModule.ContentPeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + + init: () -> + super() + diff --git a/app/assets/javascripts/manifest/item/element.js.coffee b/app/assets/javascripts/manifest/item/element.js.coffee new file mode 100644 index 00000000..0288b9be --- /dev/null +++ b/app/assets/javascripts/manifest/item/element.js.coffee @@ -0,0 +1,10 @@ +class Manifest.ItemModule.ElementPeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + ManifestBase.alert_undefined_message('parent_model_name', @module_message()) if not @args['parent_model_name'] + + init: () -> + super() + @parent_model_name = @args['parent_model_name'] + diff --git a/app/assets/javascripts/manifest/item/item.js.coffee b/app/assets/javascripts/manifest/item/item.js.coffee new file mode 100644 index 00000000..5f5c25da --- /dev/null +++ b/app/assets/javascripts/manifest/item/item.js.coffee @@ -0,0 +1,8 @@ +class Manifest.ItemModule.ItemPeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + + init: () -> + super() + diff --git a/app/assets/javascripts/manifest/item/leaf.js.coffee b/app/assets/javascripts/manifest/item/leaf.js.coffee new file mode 100644 index 00000000..360b7bb6 --- /dev/null +++ b/app/assets/javascripts/manifest/item/leaf.js.coffee @@ -0,0 +1,11 @@ +class Manifest.ItemModule.LeafPeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + ManifestBase.alert_undefined_message('parent_model_name', @module_message()) if not @args['parent_model_name'] + + init: () -> + super() + @parent_model_name = @args['parent_model_name'] + @destination_model_name = @args['destination_model_name'] + diff --git a/app/assets/javascripts/manifest/item/owner.js.coffee b/app/assets/javascripts/manifest/item/owner.js.coffee new file mode 100644 index 00000000..f9b71765 --- /dev/null +++ b/app/assets/javascripts/manifest/item/owner.js.coffee @@ -0,0 +1,8 @@ +class Manifest.ItemModule.OwnerPeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + + init: () -> + super() + diff --git a/app/assets/javascripts/manifest/item/root.js.coffee b/app/assets/javascripts/manifest/item/root.js.coffee new file mode 100644 index 00000000..d7e8bf0a --- /dev/null +++ b/app/assets/javascripts/manifest/item/root.js.coffee @@ -0,0 +1,8 @@ +class Manifest.ItemModule.RootPeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + + init: () -> + super() + diff --git a/app/assets/javascripts/manifest/item/system_resource.js.coffee b/app/assets/javascripts/manifest/item/system_resource.js.coffee new file mode 100644 index 00000000..7f690187 --- /dev/null +++ b/app/assets/javascripts/manifest/item/system_resource.js.coffee @@ -0,0 +1,8 @@ +class Manifest.ItemModule.SystemResourcePeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + + init: () -> + super() + diff --git a/app/assets/javascripts/manifest/item/template.js.coffee b/app/assets/javascripts/manifest/item/template.js.coffee new file mode 100644 index 00000000..745c2ca4 --- /dev/null +++ b/app/assets/javascripts/manifest/item/template.js.coffee @@ -0,0 +1,8 @@ +class Manifest.ItemModule.TemplatePeta extends Manifest.ItemModule.BasePeta + + set_default: () -> + super() + + init: () -> + super() + diff --git a/app/assets/javascripts/manifest/manifest.js.coffee b/app/assets/javascripts/manifest/manifest.js.coffee new file mode 100644 index 00000000..28014cf0 --- /dev/null +++ b/app/assets/javascripts/manifest/manifest.js.coffee @@ -0,0 +1,16 @@ +class Manifest + constructor: (global_json) -> + @module_names = [] + @global_json = global_json || {} + @system_resources = new Manifest.SystemResource( + this, Manifest.SystemResource.set_default(@global_json['system_resources']) + ) + @magic_numbers = @global_json['magic_numbers'] + + init: () -> + # managers can't initialize before load application.rb + @items = ManifestBase.load_type_name_args(this, @global_json, 'items', Manifest.ItemFactory) + @controllers = Manifest.Controller.load(this, @global_json, 'controllers') + @models = Manifest.Model.load(this, @global_json, 'models') + +@Manifest = Manifest diff --git a/app/assets/javascripts/manifest/model.js.coffee b/app/assets/javascripts/manifest/model.js.coffee new file mode 100644 index 00000000..d855c80b --- /dev/null +++ b/app/assets/javascripts/manifest/model.js.coffee @@ -0,0 +1,8 @@ +class Manifest.Model + constructor: (item_name) -> + @item_name = item_name + + model_name: () -> + header: () -> + paginate: () -> + diff --git a/app/assets/javascripts/manifest/system_resource.js.coffee b/app/assets/javascripts/manifest/system_resource.js.coffee new file mode 100644 index 00000000..ba80476f --- /dev/null +++ b/app/assets/javascripts/manifest/system_resource.js.coffee @@ -0,0 +1,41 @@ +class Manifest.SystemResource + + @set_default: (system_resource_manifest) -> + system_resource_manifest['templates'] ||= {} + system_resource_manifest['select_items'] ||= {} + #oh my ... + #JSON.stringify couldn't print 1.0 + # 1 == 1.0 ? + #change class + system_resource_manifest['select_items']['speech_font_size_items'] ||= {} + _.each system_resource_manifest['select_items']['speech_font_size_items'], (conf) -> + #conf[1] = parseFloat((conf[1])) + system_resource_manifest + + init: () -> + @select_items_loader + + select_items_loader: () -> + _.each @manifest.models, (model_name, model_manifest) -> + _.each model_manifest.attributes, (attribute_name, attribute_manifest) -> + source_manifest = attribute_manifest.source + next if not source_manifest + next if not source_manifest.type == 'model' + resource_model_name = source_manifest.resource_model_name + resource_list_name = source_manifest.resource_list_name + caption = source_manifest.caption_name + #begin + # list = Locmare::ListGroup.list resource_model_name, resource_list_name + # r = list.open nil, {} + # @select_items[source_manifest.select_item_name] = + # r.items.map {|item| [item.attributes[caption], item.id]} + #rescue + # puts 'skip store select_items:' + resource_model_name + '.' + resource_list_name + #end + + constructor: (manifest, system_resource_manifest) -> + @manifest = manifest + @system_resource_manifest = system_resource_manifest + @templates = Manifest.SystemResource.Template.manager(this, @system_resource_manifest['templates']) + @select_items = system_resource_manifest['select_items'] + diff --git a/app/assets/javascripts/manifest/system_resource/template.js.coffee b/app/assets/javascripts/manifest/system_resource/template.js.coffee new file mode 100644 index 00000000..2c90a147 --- /dev/null +++ b/app/assets/javascripts/manifest/system_resource/template.js.coffee @@ -0,0 +1,26 @@ +class Manifest.SystemResource.Template + + @manager: (system_resource, my_manifests) -> + templates = {} + _.each my_manifests, (template_name, my_manifest) -> + templates[template_name] = new Manifest.SystemResource.Template(system_resource, template_name, my_manifest) + templates + + set_default: () -> + @my_manifest['template_items'] ||= {} + @my_manifest['has_route'] ||= 1 + + init: () -> + @has_route = @my_manifest['has_route'] + @template_items = @my_manifest['template_items'] + + is_add_route: () -> + @has_route > 0 + + constructor: (system_resource, template_name, my_manifest) -> + @system_resource = system_resource + @template_name = template_name + @my_manifest = my_manifest + @set_default() + @init() + diff --git a/app/assets/javascripts/manifest_base/base.js.coffee b/app/assets/javascripts/manifest_base/base.js.coffee new file mode 100644 index 00000000..4aac350e --- /dev/null +++ b/app/assets/javascripts/manifest_base/base.js.coffee @@ -0,0 +1,28 @@ +class ManifestBase.Base + @load: (manifest, jsons, module_name) -> + r = {} + _.each @jsons[module_name], (name, json) -> + r[name] = new ManifestBase.Base(manifest, name, json, module_name) + r + + set_default: () -> + @json['args'] ||= {} + @type = @json['type'] + @args = @json['args'] + + init: () -> + + module_names: () -> + @parent.module_names + [@module_name, @name] + + module_message: () -> + ManifestBase.module_message(@module_names) + + constructor: (manifest, name, json, module_name) -> + @manifest = manifest + @name = name + @json = json + @module_name = module_name + @set_default() + @init() + diff --git a/app/assets/javascripts/manifest_base/factory.js.coffee b/app/assets/javascripts/manifest_base/factory.js.coffee new file mode 100644 index 00000000..8bc2627a --- /dev/null +++ b/app/assets/javascripts/manifest_base/factory.js.coffee @@ -0,0 +1,25 @@ +class ManifestBase.Factory + @types: () -> + {} + + @default_type: () -> + null + + @factory: (parent, name, json, module_name) -> + module_message = ManifestBase.module_message(parent.module_names(), [module_name, name]) + json['type'] ||= @default_type() + type = json['type'] + ManifestBase.alert_undefined_message('type', module_message) if not type + my_class = @types()[type] + ManifestBase.alert_undefined_message('class', module_message) if not my_class + new my_class(parent, name, json, module_name) + + @factory_type_args: (parent, json, module_name) -> + module_message = ManifestBase.module_message(parent.module_names(), [module_name]) + json['type'] ||= @default_type() + type = json['type'] + ManifestBase.alert_undefined_message('type', module_message) if not type + my_class = @types()[type] + ManifestBase.alert_undefined_message('class', module_message) if not my_class + new my_class(parent, json, module_name) + diff --git a/app/assets/javascripts/manifest_base/manifest_base.js.coffee b/app/assets/javascripts/manifest_base/manifest_base.js.coffee new file mode 100644 index 00000000..68505c7f --- /dev/null +++ b/app/assets/javascripts/manifest_base/manifest_base.js.coffee @@ -0,0 +1,38 @@ +class ManifestBase + + @require_modules: (path, names) -> + _.each names, (name) -> + require_dependency path + name.to_s + + @module_message: (module_names, my_module_names = []) -> + (module_names + my_module_names).join(' > ') + + @alert_message: (message, location) -> + confirm('invalid manifest?:' + message + " for " + message) + + @alert_undefined_message: (name, location) -> + alert_message('undefined ' + name, location) + + @load_value: (_self, json, module_name, klass) -> + new klass(_self, json[module_name], module_name) + + @load_name_values: (_self, jsons, module_name, klass) -> + hash = {} + _.each jsons[module_name], (_name, _json) -> + hash[_name] = new klass(_self, _name, _json, module_name) + hash + + @load_type_args: (_self, jsons, module_name, klass) -> + klass.factory_type_args(_self, jsons[module_name], module_name) + + @load_type_name_args: (_self, jsons, module_name, klass) -> + hash = {} + _.each jsons[module_name], (_name, _json) -> + hash[_name] = new klass.factory(_self, _name, _json, module_name) + hash + + @load_names: (_self, json, module_name, klass) -> + _.map json[module_name], (_name) -> + new klass(_self, _name, module_name) + +@ManifestBase = ManifestBase diff --git a/app/assets/javascripts/manifest_base/name_values.js.coffee b/app/assets/javascripts/manifest_base/name_values.js.coffee new file mode 100644 index 00000000..af8e0a34 --- /dev/null +++ b/app/assets/javascripts/manifest_base/name_values.js.coffee @@ -0,0 +1,27 @@ +class ManifestBase.NameValues + + set_default: () -> + @values = @json + + init: () -> + + module_names: () -> + @parent.module_names + [@module_name, @name] + + module_message: () -> + ManifestBase.module_message(@module_names) + + parent_name: () -> + @parent.name + + parent_json: () -> + @parent.json + + constructor: (parent, name, json, module_name) -> + @parent = parent + @name = name + @json = json + @module_name = module_name + @set_default() + @init() + diff --git a/app/assets/javascripts/manifest_base/names.js.coffee b/app/assets/javascripts/manifest_base/names.js.coffee new file mode 100644 index 00000000..6bb00f99 --- /dev/null +++ b/app/assets/javascripts/manifest_base/names.js.coffee @@ -0,0 +1,25 @@ +class ManifestBase.Names + + set_default: () -> + + init: () -> + + module_names: () -> + @manifest.module_names + [@module_name, @name] + + module_message: () -> + ManifestBase.module_message(@module_names) + + parent_name: () -> + @parent.name + + parent_json: () -> + @parent.json + + constructor: (parent, name, module_name) -> + @parent = parent + @name = name + @module_name = module_name + @set_default() + @init() + diff --git a/app/assets/javascripts/manifest_base/type_args.js.coffee b/app/assets/javascripts/manifest_base/type_args.js.coffee new file mode 100644 index 00000000..4e5777ed --- /dev/null +++ b/app/assets/javascripts/manifest_base/type_args.js.coffee @@ -0,0 +1,28 @@ +class ManifestBase.TypeArgs + + set_default: () -> + @json['args'] ||= {} + @type = @json['type'] + @args = @json['args'] + + init: () -> + + module_names: () -> + @parent.module_names + [@module_name] + + module_message: () -> + ManifestBase.module_message(@module_names) + + parent_name: () -> + @parent.name + + parent_json: () -> + @parent.json + + constructor: (parent, json, module_name) -> + @parent = parent + @json = json + @module_name = module_name + @set_default() + @init() + diff --git a/app/assets/javascripts/manifest_base/type_name_args.coffee b/app/assets/javascripts/manifest_base/type_name_args.coffee new file mode 100644 index 00000000..a579f4f6 --- /dev/null +++ b/app/assets/javascripts/manifest_base/type_name_args.coffee @@ -0,0 +1,29 @@ +class ManifestBase.TypeNameArgs + + set_default: () -> + @json['args'] ||= {} + @type = @json['type'] + @args = @json['args'] + + init: () -> + + module_names: () -> + @parent.module_names + [@module_name, @name] + + module_message: () -> + ManifestBase.module_message(@module_names) + + parent_name: () -> + @parent.name + + parent_json: () -> + @parent.json + + constructor: (parent, name, json, module_name) -> + @parent = parent + @name = name + @json = json + @module_name = module_name + @set_default() + @init() + diff --git a/app/assets/javascripts/manifest_base/values.js.coffee b/app/assets/javascripts/manifest_base/values.js.coffee new file mode 100644 index 00000000..d2a7e372 --- /dev/null +++ b/app/assets/javascripts/manifest_base/values.js.coffee @@ -0,0 +1,26 @@ +class ManifestBase.Values + + set_default: () -> + @values = @json + + init: () -> + + module_names: () -> + @parent.module_names + [@module_name] + + module_message: () -> + ManifestBase.module_message(@module_names) + + parent_name: () -> + @parent.name + + parent_json: () -> + @parent.json + + constructor: (parent, json, module_name) -> + @parent = parent + @json = json + @module_name = module_name + @set_default() + @init() + diff --git a/app/assets/javascripts/manifest/work/buckets.js.coffee.erb b/app/assets/javascripts/work/buckets.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/buckets.js.coffee.erb rename to app/assets/javascripts/work/buckets.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/controllers.js.coffee.erb b/app/assets/javascripts/work/controllers.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/controllers.js.coffee.erb rename to app/assets/javascripts/work/controllers.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/filers.js.coffee.erb b/app/assets/javascripts/work/filers.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/filers.js.coffee.erb rename to app/assets/javascripts/work/filers.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/forms.js.coffee.erb b/app/assets/javascripts/work/forms.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/forms.js.coffee.erb rename to app/assets/javascripts/work/forms.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/items.js.coffee.erb b/app/assets/javascripts/work/items.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/items.js.coffee.erb rename to app/assets/javascripts/work/items.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/list_groups.js.coffee.erb b/app/assets/javascripts/work/list_groups.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/list_groups.js.coffee.erb rename to app/assets/javascripts/work/list_groups.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/magic_numbers.js.coffee.erb b/app/assets/javascripts/work/magic_numbers.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/magic_numbers.js.coffee.erb rename to app/assets/javascripts/work/magic_numbers.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/models.js.coffee.erb b/app/assets/javascripts/work/models.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/models.js.coffee.erb rename to app/assets/javascripts/work/models.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/profilers.js.coffee.erb b/app/assets/javascripts/work/profilers.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/profilers.js.coffee.erb rename to app/assets/javascripts/work/profilers.js.coffee.erb diff --git a/app/assets/javascripts/manifest/work/system_resources.js.coffee.erb b/app/assets/javascripts/work/system_resources.js.coffee.erb similarity index 100% rename from app/assets/javascripts/manifest/work/system_resources.js.coffee.erb rename to app/assets/javascripts/work/system_resources.js.coffee.erb diff --git a/app/views/layouts/ap.html.erb b/app/views/layouts/ap.html.erb index 0b222c99..91ebec44 100644 --- a/app/views/layouts/ap.html.erb +++ b/app/views/layouts/ap.html.erb @@ -4,10 +4,10 @@ ap - <%= h(manifest.magic_numbers['profile']['users']['caption']) %> - <%= stylesheet_link_tag "application" %> + <%# stylesheet_link_tag "application" %> <%= javascript_include_tag "application" %> <%= javascript_include_tag "ap" %> - <%= raw panel_editor_javascript_include_tags %> + <%# raw panel_editor_javascript_include_tags %> <%= csrf_meta_tags %> -- 2.11.0