//= require backbone-relational
//= require backbone.paginator
//= require i18n
+//= require ./tags
//= require ./manifest_base/manifest_base
//= require ./manifest_base/base
//= require ./manifest_base/factory
//= require ./local_manifest/form/element_field
//= require ./local_manifest/form/part_field
//= require ./local_manifest/list_group
-//= require ./local_manifest/list_group/
+//= require ./local_manifest/list_group/list
+//= require ./local_manifest/list_group/list/base
+//= require ./local_manifest/list_group/list/public
+//= require ./local_manifest/list_group/list/private
+//= require ./local_manifest/list_group/list/system_resource
+//= require ./local_manifest/list_group/list/filter
+//= require ./local_manifest/list_group/list/through_filter
+//= require ./local_manifest/list_group/list/foreign_filter
+//= require ./local_manifest/list_group/list/play
//= require ./local_manifest/bucket
//= require ./local_manifest/bucket/member
//= require ./local_manifest/bucket/form_field_name
//= require ./locmare/form/field/helper/tail_angle
//= require ./locmare/form/field/helper/color
//= require ./locmare/form/field/helper/popup
-// require ./locmare/bucket
-// require ./locmare/bucket/member
-// require ./locmare/bucket/form_field_name
+//= require ./locmare/bucket
+//= require ./locmare/list_group
+//= require ./locmare/list_group/list/base
+//= require ./locmare/list_group/list/public
+//= require ./locmare/list_group/list/private
+//= require ./locmare/list_group/list/system_resource
+//= require ./locmare/list_group/list/filter
+//= require ./locmare/list_group/list/through_filter
+//= require ./locmare/list_group/list/foreign_filter
+//= require ./locmare/list_group/list/play
//= require ./peta/peta
//= require ./peta/item
//= require ./peta/owner
//= require_directory ./addons/plain_speech_balloons
//= require_directory ./addons/square_speech_balloons
//= require_directory ./addons/pettanr_simple_format
-//= require ./pettanr/tags
//= require ./pettanr/picture
//= require ./pettanr/pettan_imager
//= require ./pettanr/operator
\r
children_html: () -> \r
collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
- f = new Locmare.Filer({\r
- item_name: 'folder', \r
- collection: collection, \r
- pager: null, \r
- operators: window.operators\r
- })\r
- $("#pettanr").html(f.render().el)\r
+ collection.fetch().done ->\r
+ f = new Locmare.Filer({\r
+ item_name: 'folder', \r
+ items: collection.models, \r
+ pager: null, \r
+ operators: window.operators\r
+ })\r
+ $("#pettanr").html(f.render().el)\r
\r
show: () ->\r
console.log(@params)\r
init: () ->\r
super()\r
@form_names = @name.split '.'\r
- @field_name = @form_names.pop\r
+ @field_name = @form_names.pop()\r
@form_name = @form_names.join '.'\r
\r
bucket_name: () ->\r
set_default: () ->\r
super()\r
@json\r
- @json.actions ||= {}\r
- @json.item_name = Manifest.singularize(@name)\r
+ @json.lists ||= {}\r
+ #@json.item_name = Manifest.manifest().inflectors[@name]\r
+ @json.item_name = @name\r
\r
init: () ->\r
super()\r
@item_name = @json.item_name\r
- @actions = ManifestBase.load_type_name_args this, @json, 'actions', Manifest.ListGroupModule.ActionFactory\r
+ @lists = ManifestBase.load_type_name_args this, @json, 'lists', LocalManifest.ListGroupModule.ListFactory\r
\r
constructor: (manifest, name, json, module_name) ->\r
super(manifest, name, json, module_name)\r
--- /dev/null
+class LocalManifest.ListGroupModule.ListFactory extends ManifestBase.Factory\r
+ \r
+ @types: () ->\r
+ {\r
+ public: LocalManifest.ListGroupModule.ListModule.PublicList, \r
+ private: LocalManifest.ListGroupModule.ListModule.PrivateList, \r
+ system_resource: LocalManifest.ListGroupModule.ListModule.SystemResourceList,\r
+ filter: LocalManifest.ListGroupModule.ListModule.FilterList, \r
+ through_filter: LocalManifest.ListGroupModule.ListModule.ThroughFilterList, \r
+ foreign_filter: LocalManifest.ListGroupModule.ListModule.ForeignFilterList, \r
+ play: LocalManifest.ListGroupModule.ListModule.PlayList\r
+ }\r
+ \r
+ @default_type: () ->\r
+ 'public'\r
+ \r
+class LocalManifest.ListGroupModule.ListModule\r
+\r
--- /dev/null
+class LocalManifest.ListGroupModule.ListModule.Base extends ManifestBase.TypeNameArgs\r
+ \r
+ set_default: () ->\r
+ super()\r
+ \r
+ init: () ->\r
+ super()\r
+ @model_manifest = Manifest.manifest().models[@item_name()]\r
+ @model_list_manifest = @model_manifest.list\r
+ @model = Manifest.item_name_to_model @item_name()\r
+ \r
+ item_name: () ->\r
+ @parent.item_name\r
+ \r
+ list_group: () ->\r
+ @parent\r
+ \r
+\r
--- /dev/null
+class LocalManifest.ListGroupModule.ListModule.FilterList extends LocalManifest.ListGroupModule.ListModule.Base\r
+ \r
+ set_default: () ->\r
+ super()\r
+ @args.filter_item_name ||= @name.replace(/^by_/, '')\r
+ @args.filter_key ||= @args.filter_item_name + '_id'\r
+ \r
+ init: () ->\r
+ super()\r
+ @filter_item_name = @args.filter_item_name\r
+ @filter_key = @args.filter_key\r
+ \r
--- /dev/null
+class LocalManifest.ListGroupModule.ListModule.ForeignFilterList extends LocalManifest.ListGroupModule.ListModule.FilterList\r
+ \r
--- /dev/null
+class LocalManifest.ListGroupModule.ListModule.PlayList extends LocalManifest.ListGroupModule.ListModule.Base\r
+ \r
--- /dev/null
+class LocalManifest.ListGroupModule.ListModule.PrivateList extends LocalManifest.ListGroupModule.ListModule.Base\r
+ \r
--- /dev/null
+class LocalManifest.ListGroupModule.ListModule.PublicList extends LocalManifest.ListGroupModule.ListModule.Base\r
+ \r
--- /dev/null
+class LocalManifest.ListGroupModule.ListModule.SystemResourceList extends LocalManifest.ListGroupModule.ListModule.Base\r
+ \r
--- /dev/null
+class LocalManifest.ListGroupModule.ListModule.ThroughFilterList extends LocalManifest.ListGroupModule.ListModule.FilterList\r
+ \r
+ set_default: () ->\r
+ super()\r
+ \r
+ init: () ->\r
+ super()\r
+ @through = @args.through\r
+ \r
_module_names\r
\r
init: () ->\r
- #@list_groups = LocalManifest.ListGroup.load(this, @local_json, 'list_groups', LocalManifest.ListGroup)\r
+ @list_groups = LocalManifest.ListGroup.load(this, @local_json, 'list_groups', LocalManifest.ListGroup)\r
@filers = LocalManifest.Filer.load(this, @local_json, 'filers', LocalManifest.Filer)\r
@profilers = LocalManifest.Profiler.load(this, @local_json, 'profilers', LocalManifest.Profiler)\r
@forms = LocalManifest.Form.load(this, @local_json, 'forms', LocalManifest.Form)\r
-# form_name_with_sub_form\r
-# item: editing item\r
-# mounted: true/false\r
-# submit: string / 'submit'\r
-# operators: \r
-class Locmare.FormBase extends Backbone.View\r
- tagName: 'div'\r
- \r
- initialize: (options) ->\r
- @form_name_with_sub_form = options.form_name_with_sub_form\r
- @item = options.item\r
- @mounted = options.mounted\r
- @submit = options.submit\r
- @operators = options.operators\r
- if /\./.test(form_name_with_sub_form)\r
- @sub_form_names = form_name_with_sub_form.split('.')\r
- @form_name = @sub_form_names.last\r
- @root_form_name = @sub_form_names.shift\r
- else\r
- @sub_form_names = []\r
- @form_name = @form_name_with_sub_form\r
- @root_form_name = @form_name\r
- @manifest = LocalManifest.manifest().forms[@form_name]\r
- @fields = {}\r
- \r
- fold_extend_settings: (params) ->\r
- @item.my_class().fold_extend_settings params[@item.item_name()]\r
- \r
- sub_form_name: () ->\r
- r = _.map @sub_form_names, (name) ->\r
- '[' + name + '_attributes' + ']'\r
- r.join()\r
- \r
- form_field_name: (field_name) ->\r
- @root_form_name + @sub_form_name() + '[' + field_name + ']'\r
- \r
- image_dir: () ->\r
- '/images/'\r
- \r
class Locmare.Bucket extends Backbone.View\r
+ tagName: 'form'\r
\r
- @factory: (options) ->\r
- @bucket_name = options.bucket_name\r
- @item = options.item\r
- @mounted = options.mounted\r
- @submit = options.submit\r
- @operators = options.operators\r
- \r
+ @factory: (bucket_or_form_name, item, mounted, submit, operators) ->\r
bucket = LocalManifest.manifest().buckets[bucket_or_form_name]\r
- c = if bucket and bucket.has_member\r
- Locmare.Bucket\r
+ if bucket and bucket.has_member\r
+ new Locmare.Bucket({\r
+ bucket_name: bucket_or_form_name, \r
+ item: item, \r
+ mounted: mounted, \r
+ submit: submit, \r
+ operators: operators,\r
+ action: '/' + item.table_name() + '/' + Pettanr.to_s(item.get('id'))\r
+ })\r
else\r
- Locmare.Form\r
- new c({\r
- bucket_or_form_name, \r
- item, \r
- mounted, \r
- submit, \r
- operators\r
- })\r
+ new Locmare.Form({\r
+ form_name: bucket_or_form_name, \r
+ item: item, \r
+ mounted: mounted, \r
+ submit: submit, \r
+ operators: operators,\r
+ action: '/' + item.table_name() + '/' + Pettanr.to_s(item.get('id'))\r
+ })\r
\r
initialize: (options) ->\r
@bucket_name = options.bucket_name\r
@form_fields = []\r
@forms = {}\r
@forms[@item.item_name()] = new Locmare.Form({\r
- @item.item_name, @item, @mounted, false, @operators\r
+ form_name: @item.item_name(), \r
+ item: @item, \r
+ mounted: @mounted, \r
+ submit: false, \r
+ operators: @operators\r
})\r
- @init_forms(@item.item_name, @manifest, @item)\r
+ @init_forms(@item.item_name(), @manifest, @item)\r
@init_fields()\r
+ @render()\r
+ \r
+ render: () ->\r
+ this.$el.html('')\r
+ _this = this\r
+ _.each @form_fields, (form_field) ->\r
+ _this.$el.append(form_field.render().el)\r
+ this\r
\r
fold_extend_settings: (params) ->\r
- @item.class.fold_extend_settings params[@item.item_name]\r
- self.members_fold_extend_settings @item, params[@item.item_name], @manifest\r
+ @item.my_class().fold_extend_settings params[@item.item_name()]\r
+ @members_fold_extend_settings @item, params[@item.item_name()], @manifest\r
\r
members_fold_extend_settings: (fold_item, attr, man) ->\r
- man.members.each do |member_name, member_manifest|\r
- member_item = fold_item.__send__ member_name\r
- member_item.class.fold_extend_settings attr[member_name + '_attributes']\r
- self.members_fold_extend_settings member_item, attr[member_name + '_attributes'], member_manifest\r
- \r
- each_field: () ->\r
- @form_fields.each do |form_field|\r
- yield form_field.field_name, form_field\r
+ _this = this\r
+ _.each man.members, (member_manifest, member_name) ->\r
+ member_item = fold_item[member_name]()\r
+ member_item.my_class().fold_extend_settings attr[member_name + '_attributes']\r
+ _this.members_fold_extend_settings member_item, attr[member_name + '_attributes'], member_manifest\r
\r
push_form: (key, form_name, item) ->\r
\r
init_forms: (key, man, item) ->\r
- man.members.each do |member_name, member_manifest|\r
+ _this = this\r
+ _.each man.members, (member_manifest, member_name) ->\r
form_name = member_name # write exchange function if you want\r
- member_item = item.__send__(form_name)\r
+ member_item = item[form_name]\r
new_key = key + '.' + form_name\r
- @forms[new_key] = Locmare::Form.new new_key, member_item, @mounted, false, @operators\r
- self.init_forms new_key, member_manifest, member_item\r
+ _this.forms[new_key] = new Locmare.Form({\r
+ form_name: new_key, \r
+ item: member_item, \r
+ mounted: _this.mounted, \r
+ submit: false, \r
+ operators: _this.operators\r
+ })\r
+ _this.init_forms(new_key, member_manifest, member_item)\r
\r
init_fields: () ->\r
- @manifest.form_field_names.each do |form_field_name|\r
- r = form_field_name.form_name.blank? ? '' : '.' + form_field_name.form_name\r
- key = @item.item_name + r\r
- form = @forms[key]\r
+ _this = this\r
+ _.each @manifest.form_field_names, (form_field_name) ->\r
+ r = if Pettanr.is_blank(form_field_name.form_name)\r
+ ''\r
+ else\r
+ '.' + form_field_name.form_name\r
+ key = _this.item.item_name() + r\r
+ form = _this.forms[key]\r
field = form.fields[form_field_name.field_name]\r
- @form_fields << field\r
+ _this.form_fields.push(field)\r
\r
image_dir: () ->\r
'/images/'\r
\r
row_break: () ->\r
if @field_manifest.row_break\r
- new Pettanr.Tag.Div({\r
+ new Tag.Div({\r
content: null,\r
class_name: 'row_break'\r
})\r
-class Locmare.FormModule.Field extends Backbone.View\r
- tagName: 'div'\r
- className: 'field'\r
- \r
- initialize: (options) ->\r
- @form = options.form\r
- @field_name = options.field_name\r
- @field_manifest = options.field_manifest\r
- @label = Locmare.FormModule.FieldModule.LabelFactory.factory this, @field_manifest.label\r
- @tag = Locmare.FormModule.FieldModule.TagFactory.factory this, @field_manifest.tag\r
- @helpers = {}\r
- _this = this\r
- _.each @field_manifest.helpers, (helper_manifest, helper_name) ->\r
- _this.helpers[helper_name] = Locmare.FormModule.FieldModule.HelperFactory.factory(_this, helper_manifest)\r
- @rb = @row_break()\r
- @options = {'data-model': @field_manifest.form_name}\r
- \r
- render: () ->\r
- this.$el.html('')\r
- this.$el.append(@label.render().el) if not @label.hidden()\r
- this.$el.append(@tag.render().el)\r
- _this = this\r
- _.each @helpers, (helper) ->\r
- _this.$el.append(helper.render().el)\r
- this.$el.append(@rb.render().el) if @rb\r
- this\r
- \r
- mounted: () ->\r
- if @form.mounted\r
- 0\r
- else\r
- 1\r
- \r
- mount_option: () ->\r
- {'mount': @mounted()}\r
- \r
- item: () ->\r
- @form.item\r
- \r
- value: () ->\r
- @item().get(@field_manifest.column_name)\r
- \r
- options: (tag_options = {}) ->\r
- tag_options\r
- \r
- form_field_name: () ->\r
- @form.form_field_name @field_name\r
- \r
- form_name: () ->\r
- @form.form_name\r
- \r
- row_break: () ->\r
- if @field_manifest.row_break\r
- new Pettanr.Tag.Div({\r
- content: null,\r
- class_name: 'row_break'\r
- })\r
- else\r
- null\r
- \r
class Locmare.BucketModule.Member\r
tagName: 'div'\r
className: 'field'\r
\r
row_break: () ->\r
if @field_manifest.row_break\r
- new Pettanr.Tag.Div({\r
+ new Tag.Div({\r
content: null,\r
class_name: 'row_break'\r
})\r
tagName: 'div'\r
initialize: (options) ->\r
@item_name = options.item_name\r
- @collection = options.collection\r
+ @items = options.items\r
@pager = options.pager\r
@operators = options.operators\r
@manifest = LocalManifest.manifest().filers[@item_name]\r
@body = options.body\r
@file_items = []\r
_this = this\r
- c = @filer().collection\r
- c.fetch().done ->\r
- items = if c['singular'] # type of model?\r
- [c]\r
- else\r
- c.models\r
- _this.file_items = _.map items, (item) ->\r
- fi = _this.file_item_class()\r
- new fi({'file_body': _this, 'item': item})\r
- _this.render()\r
- \r
+ @file_items = _.map @filer().items, (item) ->\r
+ fi = _this.file_item_class()\r
+ new fi({'file_body': _this, 'item': item})\r
+ _this.render()\r
+\r
render: () ->\r
_this = this\r
this.$el.html('')\r
attr: {'src': @edit_img_file_name()}, \r
half: true\r
})\r
- @edit_btn = new Pettanr.Tag.A({\r
+ @edit_btn = new Tag.A({\r
attr: {href: '/home/configure'}, \r
content: @edit_icon.render().el\r
})\r
half: true\r
})\r
url = Pettanr.url(@item.table_name(), 'edit', {id: @item.get('id')})\r
- @edit_btn = new Pettanr.Tag.A({\r
+ @edit_btn = new Tag.A({\r
attr: {href: '/' + url}, \r
handler_name: url,\r
content: @edit_icon.render().el\r
half: true\r
})\r
url = Pettanr.url(@item.table_name(), 'destroy', {id: @item.get('id')})\r
- @remove_btn = new Pettanr.Tag.A({\r
+ @remove_btn = new Tag.A({\r
attr: {href: '/' + url}, \r
handler_name: url,\r
content: @remove_icon.render().el\r
src: @icon_file_name()\r
}\r
})\r
- a = new Pettanr.Tag.A({\r
+ a = new Tag.A({\r
attr: {href: @path_name()}, \r
content: icon.render().el\r
})\r
icon = new Pettanr.Image.Icon({item: @model(), half: true})\r
caption = Pettanr.AppHelper.t_m(@model().singular())\r
url = Pettanr.url(@model().table_name(), 'index', {})\r
- linked_icon = new Pettanr.Tag.A({\r
+ linked_icon = new Tag.A({\r
attr: {href: '/' + url}, handler_name: url, content: icon.render().el\r
})\r
- linked_caption = new Pettanr.Tag.A({\r
+ linked_caption = new Tag.A({\r
attr: {href: '/' + url}, handler_name: url, content: caption\r
})\r
this.$el.append(linked_icon.render().el)\r
\r
initialize: (options) ->\r
@page_status = options.page_status\r
- @counter = @page_status.counter\r
+ @count = @page_status.count\r
@current_page = @page_status.current_page\r
@per_page = @page_status.per_page\r
@window_size = @page_status.window_size\r
@params = @page_status.params\r
@parts = []\r
- _this = this\r
- @counter.fetch().done ->\r
- _this.total = _this.counter.get('count')\r
- _this.total_page = Math.floor(_this.total / _this.per_page) + 1\r
- if _this.total_page > 1\r
- _this.render()\r
+ @total = @count\r
+ @total_page = Math.floor(@total / @per_page) + 1\r
+ if @total_page > 1\r
+ @render()\r
\r
render: () ->\r
@parts = []\r
this.$el.html('')\r
_.each @parts, (part) ->\r
_this.$el.append(part.render().el)\r
- rb = new Pettanr.Tag.Div({class_name: 'row_break', content: ''})\r
+ rb = new Tag.RowBreak()\r
this.$el.append(rb.render().el)\r
this\r
\r
_.extend(my_params, @params)\r
my_params['page'] = 1\r
url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
- linked_caption = new Pettanr.Tag.A({\r
+ linked_caption = new Tag.A({\r
attr: {href: '/' + url}, \r
handler_name: url,\r
content: '<<'\r
_.extend(my_params, @params)\r
my_params['page'] = @current_page - 1\r
url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
- linked_caption = new Pettanr.Tag.A({\r
+ linked_caption = new Tag.A({\r
attr: {href: '/' + url}, \r
handler_name: url,\r
content: '<'\r
_.extend(my_params, @params)\r
my_params['page'] = @page\r
url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
- linked_caption = new Pettanr.Tag.A({\r
+ linked_caption = new Tag.A({\r
attr: {href: '/' + url}, \r
handler_name: url,\r
content: @page\r
_.extend(my_params, @params)\r
my_params['page'] = @current_page + 1\r
url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
- linked_caption = new Pettanr.Tag.A({\r
+ linked_caption = new Tag.A({\r
attr: {href: '/' + url}, \r
handler_name: url,\r
content: '>'\r
_.extend(my_params, @params)\r
my_params['page'] = @pager.total_page\r
url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
- linked_caption = new Pettanr.Tag.A({\r
+ linked_caption = new Tag.A({\r
attr: {href: '/' + url}, \r
handler_name: url,\r
content: '>>'\r
@operators = options.operators\r
if /\./.test(@form_name)\r
@sub_form_names = @form_name.split('.')\r
- @form_name = @sub_form_names.last\r
- @root_form_name = @sub_form_names.shift\r
+ @form_name = @sub_form_names.pop()\r
+ @root_form_name = @sub_form_names.shift()\r
else\r
@sub_form_names = []\r
#@form_name = @form_name\r
else\r
null\r
if boost_name and extend_model # field is extend setting AND template has a extend model\r
- extend_form_name = @item.boosters[boost_name].model_name\r
- extend_item = @item.boosters[boost_name].extend_item\r
+ extend_form_name = _this.item.boosters[boost_name].model_name()\r
+ extend_item = _this.item.boosters[boost_name].extend_item()\r
_this.fields[field_name] = new Locmare.ExtendForm({\r
parent: _this, \r
form_name: extend_form_name, \r
alert('invalid')\r
\r
class Locmare.ExtendForm extends Locmare.FormBase\r
+ tagName: 'div'\r
+ className: 'fields'\r
\r
initialize: (options) ->\r
@parent = options.parent\r
@label = @field.label\r
@init_fields()\r
\r
+ render: () ->\r
+ this.$el.html('')\r
+ @div_fields = new Locmare.FormModule.Fields({\r
+ fields: @fields\r
+ })\r
+ this.$el.append(@div_fields.render().el)\r
+ this\r
+ \r
init_fields: () ->\r
_this = this\r
_.each _this.manifest.field_names, (field_name) ->\r
field_manifest: field_manifest\r
})\r
\r
- form_field_name: (field_name) ->\r
+ form_field_name: (extend_field_name) ->\r
# parent is field\r
- @parent.form_field_name(field_name) + '[' + field_name + ']'\r
+ @parent.form_field_name(@field_name) + '[' + extend_field_name + ']'\r
\r
class Locmare.FormModule\r
class Locmare.FormModule.Fields extends Backbone.View\r
\r
row_break: () ->\r
if @field_manifest.row_break\r
- new Pettanr.Tag.Div({\r
+ new Tag.Div({\r
content: null,\r
class_name: 'row_break'\r
})\r
@field_manifest = options.field_manifest\r
@label = Locmare.FormModule.FieldModule.LabelFactory.factory this, @field_manifest.label\r
@tag = Locmare.FormModule.FieldModule.TagFactory.factory this, @field_manifest.tag\r
- @helpers = new Locmare.FormModule.FieldModule.Fields({field: this, field_manifest: @field_manifest})\r
+ @helpers = new Locmare.FormModule.FieldModule.Helpers({field: this, field_manifest: @field_manifest})\r
@rb = @row_break()\r
@options = {'data-model': @field_manifest.form_name}\r
\r
value: () ->\r
@item().get(@field_manifest.column_name())\r
\r
+ set: (v) ->\r
+ @item().set(@field_manifest.column_name(), v)\r
+ \r
options: (tag_options = {}) ->\r
tag_options\r
\r
\r
row_break: () ->\r
if @field_manifest.row_break\r
- new Pettanr.Tag.RowBreak()\r
+ new Tag.RowBreak()\r
else\r
null\r
\r
class Locmare.FormModule.FieldModule\r
-class Locmare.FormModule.FieldModule.Fields extends Backbone.View\r
+class Locmare.FormModule.FieldModule.Helpers extends Backbone.View\r
tagName: 'span'\r
\r
initialize: (options) ->\r
initialize: (options) ->\r
super(options)\r
this.$el.addClass(@helper_manifest.dom_class)\r
- @picker = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker({field: @field})\r
- @swatch = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Swatch({field: @field})\r
- @status = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status({field: @field})\r
- @rb = new Pettanr.Tag.RowBreak()\r
+ @picker = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker({field: @field, helper: this})\r
+ @swatch = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Swatch({field: @field, helper: this})\r
+ @status = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status({field: @field, helper: this})\r
+ @rb = new Tag.RowBreak()\r
\r
render: () ->\r
@attr = {\r
this.$el.append(@rb.render().el)\r
this\r
\r
+ h: () -> \r
+ h = "000000" + @field.value().toString(16)\r
+ h.substring(h.length - 6)\r
+ \r
+ slider_change: () -> \r
+ red = @picker.red.$el.slider('value')\r
+ green = @picker.green.$el.slider('value')\r
+ blue = @picker.blue.$el.slider('value')\r
+ code = (red << 16) + (green << 8) + (blue)\r
+ @field.tag.$el.val(code)\r
+ @field.set(code)\r
+ @swatch.refresh()\r
+ @status.refresh()\r
+ \r
class Locmare.FormModule.FieldModule.HelperModule.ColorModule\r
-class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider extends Pettanr.Tag.Div\r
+class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider extends Tag.Div\r
+ className: 'colorpicker'\r
events: {\r
- slidechange: 'color_slider_change'\r
+ slidechange: 'slider_change'\r
}\r
\r
- color_slider_change: (trace) -> \r
- alert('lide')\r
+ initialize: (options) ->\r
+ @field = options.field\r
+ @helper = options.helper\r
+ @shift = options.shift\r
+ @name = options.name\r
+ super({})\r
+ this.$el.addClass('colorpicker-' + @name)\r
+ \r
+ slider_change: (trace) -> \r
+ @helper.slider_change()\r
+ \r
+ volume: () ->\r
+ (@field.value() >> @shift) & 0xFF\r
\r
class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker extends Backbone.View\r
tagName: 'div'\r
\r
initialize: (options) ->\r
@field = options.field\r
+ @helper = options.helper\r
@red = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider({\r
- class_name: 'colorpicker'\r
+ field: @field, helper: @helper, shift: 16, name: 'red'\r
})\r
- @green = new Pettanr.Tag.Div({\r
- class_name: 'colorpicker'\r
+ @green = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider({\r
+ field: @field, helper: @helper, shift: 8, name: 'green'\r
})\r
- @blue = new Pettanr.Tag.Div({\r
- class_name: 'colorpicker'\r
+ @blue = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider({\r
+ field: @field, helper: @helper, shift: 0, name: 'blue'\r
})\r
r = (@field.value() >> 16) & 0xFF\r
g = (@field.value() >> 8) & 0xFF\r
this.$el.append(@blue.render().el)\r
this\r
\r
+ refresh: () -> \r
+ \r
class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Swatch extends Backbone.View\r
tagName: 'div'\r
className: 'code_swatch'\r
\r
initialize: (options) ->\r
@field = options.field\r
+ @helper = options.helper\r
this.$el.addClass('ui-widget-content')\r
this.$el.addClass('ui-corner-all')\r
\r
}\r
this.$el.attr(@attr)\r
this.$el.html('')\r
+ @refresh()\r
this\r
\r
- click: () -> \r
- w = -@field.val()\r
- @field.tag.$el.val(w)\r
- @field.render()\r
- return false\r
+ refresh: () -> \r
+ this.$el.css('background-color', '#' + @helper.h())\r
\r
class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status extends Backbone.View\r
tagName: 'div'\r
\r
initialize: (options) ->\r
@field = options.field\r
+ @helper = options.helper\r
\r
render: () ->\r
@attr = {\r
style: 'float: left;'\r
}\r
this.$el.attr(@attr)\r
- phex = "000000" + @field.value().toString(16)\r
+ \r
hex = @field.value().toString(16)\r
- h = phex.substring(phex.length - 6)\r
- @hex = new Pettanr.Tag.Div({\r
- content: 'HEX: #' + h\r
- })\r
- @rgb = new Pettanr.Tag.Div({\r
- content: 'RGB: ('\r
- })\r
+ @hex = new Tag.Div({})\r
+ @rgb = new Tag.Div({})\r
this.$el.html('')\r
this.$el.append(@hex.render().el)\r
this.$el.append(@rgb.render().el)\r
+ @refresh()\r
this\r
\r
- click: () -> \r
- w = -@field.val()\r
- @field.tag.$el.val(w)\r
- @field.render()\r
- return false\r
- \r
-class PettanrColorHelper\r
- confirm_confirm_confirm = () ->\r
- confirm( )\r
- @WritingFormat = window.PettanrWritingFormat\r
- \r
- @color_slider_change = (trace) -> \r
- red = $(trace + 'code_red').slider('value')\r
- green = $(trace + 'code_green').slider('value')\r
- blue = $(trace + 'code_blue').slider('value')\r
- code = (red << 16) + (green << 8) + (blue)\r
- phex = "000000" + code.toString(16)\r
- hex = code.toString(16)\r
- h = phex.substring(phex.length - 6)\r
- $(trace + 'code_swatch').css('background-color', '#' + h)\r
- $(trace + 'code_hex').html('HEX: #' + h)\r
- $(trace + 'code_rgb').html('RGB: (' + red + ',' + green + ',' +blue + ')')\r
- v = '#' + h\r
- if $(trace).attr('element_type') == 'ground_color'\r
- $(trace + 'code').val(code)\r
- $(trace).css('background-color', v)\r
- else\r
- $(trace + 'fore_color').val(code)\r
- $(trace).css('color', v)\r
- \r
- @add_helper = (wrapper, column) ->\r
- editor = window.PettanrEditor\r
- wrapper.map -> \r
- $(@).css('display', 'block')\r
- \r
- $('.colorpicker', wrapper).map -> \r
- if editor.is_element_part($(@))\r
- code_picker_trace = editor.element_part_tag_id($(@))\r
- else\r
- code_picker_trace = editor.element_tag_id($(@))\r
- code = parseInt($(code_picker_trace + column).val())\r
- red = (code >> 16) & 0xFF\r
- green = (code >> 8) & 0xFF\r
- blue = code & 0xFF\r
- $(code_picker_trace + 'code_red').slider {\r
- orientation: 'horizontal',\r
- range: 'min',\r
- max: 255,\r
- value: red,\r
- change: ( event, ui ) ->\r
- if editor.is_element_part($(@).parent())\r
- trace = editor.element_part_tag_id($(@).parent())\r
- else\r
- trace = editor.element_tag_id($(@).parent())\r
- PettanrColorHelper.color_slider_change(trace)\r
- }\r
- $(code_picker_trace + 'code_green').slider {\r
- orientation: 'horizontal',\r
- range: 'min',\r
- max: 255,\r
- value: green,\r
- change: ( event, ui ) ->\r
- if editor.is_element_part($(@).parent())\r
- trace = editor.element_part_tag_id($(@).parent())\r
- else\r
- trace = editor.element_tag_id($(@).parent())\r
- PettanrColorHelper.color_slider_change(trace)\r
- }\r
- $(code_picker_trace + 'code_blue').slider {\r
- orientation: 'horizontal',\r
- range: 'min',\r
- max: 255,\r
- value: blue,\r
- change: ( event, ui ) ->\r
- if editor.is_element_part($(@).parent())\r
- trace = editor.element_part_tag_id($(@).parent())\r
- else\r
- trace = editor.element_tag_id($(@).parent())\r
- PettanrColorHelper.color_slider_change(trace)\r
- }\r
- PettanrColorHelper.color_slider_change(code_picker_trace)\r
+ refresh: () -> \r
+ @hex.$el.html('HEX: #' + @helper.h())\r
+ @rgb.$el.html('RGB: (' + @r() + ',' + @g() + ',' + @b() + ')' )\r
+ \r
+ r: () -> \r
+ @helper.picker.red.volume().toString()\r
+ \r
+ g: () -> \r
+ @helper.picker.green.volume().toString()\r
+ \r
+ b: () -> \r
+ @helper.picker.blue.volume().toString()\r
\r
click: () -> \r
w = -@field.val()\r
@field.tag.$el.val(w)\r
- @field.render()\r
+ @field.set(w)\r
return false\r
\r
class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Double extends Backbone.View\r
click: () -> \r
w = @field.val() * 2\r
@field.tag.$el.val(w)\r
- @field.render()\r
+ @field.set(w)\r
return false\r
\r
class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Half extends Backbone.View\r
this\r
\r
click: () -> \r
- w = @field.val() / 2\r
+ w = Math.floor(@field.val() / 2)\r
@field.tag.$el.val(w)\r
- @field.render()\r
+ @field.set(w)\r
return false\r
\r
class PettanrPictureSizeHelper\r
class Locmare.FormModule.FieldModule.HelperModule.TailAngle extends Locmare.FormModule.FieldModule.HelperModule.Base\r
+ className: 'r-wrap'\r
+ \r
+ # wrapper\r
+ initialize: (options) ->\r
+ super(options)\r
+ @down = new Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Down({field: @field, helper: this})\r
+ @up = new Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Up({field: @field, helper: this})\r
+ @reset = new Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Reset({field: @field, helper: this})\r
+ @speech_balloon_template = new Pettanr.SpeechBalloonTemplate({\r
+ id: @field.item().get('speech_balloon_template_id')\r
+ })\r
+ _this = this\r
+ @speech_balloon_template.fetch().done ->\r
+ _this.r_step = _this._r_step()\r
\r
render: () ->\r
+ @attr = {\r
+ style: 'display: block'\r
+ }\r
+ this.$el.attr(@attr)\r
this.$el.html('')\r
+ this.$el.append(@down.render().el)\r
+ this.$el.append(@up.render().el)\r
+ this.$el.append(@reset.render().el)\r
+ this\r
+ \r
+ settings: () ->\r
+ @speech_balloon_template.parsed_settings()\r
+ \r
+ _r_step: () ->\r
+ settings = @settings()\r
+ settings['speech_balloon']['r_step']\r
+ \r
+ system_picture_id: (idx) ->\r
+ settings = @settings()\r
+ settings[idx]['balloon']['system_picture_id']\r
+ \r
+ # balloon r helper\r
+ \r
+ balloon_next_index: (d) ->\r
+ r_val = @field.val()\r
+ v = parseInt(r_val) + @r_step * d\r
+ tr = v % 360\r
+ tr = 360 + tr if tr < 0\r
+ offset = @r_step / 2.0\r
+ idx = Math.floor(((tr + offset) % 360) / @r_step)\r
+ if idx == 0\r
+ ir = 0\r
+ else\r
+ if v < 0\r
+ ir = Math.floor(idx * @r_step) - 360\r
+ else\r
+ ir = Math.floor(idx * @r_step)\r
+ @field.set(ir)\r
+ @field.tag.$el.val(ir)\r
+ idx\r
+ \r
+ balloon_index: () ->\r
+ v = parseInt(@field.val())\r
+ tr = v % 360\r
+ tr = 360 + tr if tr < 0\r
+ offset = @r_step / 2.0\r
+ idx = Math.floor(((tr + offset) % 360) / @r_step)\r
+ idx\r
+ \r
+ refresh_balloon: (idx) ->\r
+ return\r
+ sp_id = @system_picture_id(idx)\r
+ fn = '/system_pictures/' + String(sp_id) + '.png'\r
+ ofn = bln.attr('src')\r
+ if fn == ofn\r
+ else\r
+ if bln.attr('src')\r
+ bln.attr('src', fn) \r
+ $(balloon_trace + 'system_picture_id').val(sp_id)\r
+ \r
+class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule\r
+class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Down extends Backbone.View\r
+ tagName: 'button'\r
+ className: 'r-down'\r
+ events: {\r
+ 'click': 'click'\r
+ }\r
+ \r
+ initialize: (options) ->\r
+ @field = options.field\r
+ @helper = options.helper\r
+ \r
+ render: () ->\r
+ this.$el.html('<')\r
this\r
\r
+ click: () -> \r
+ idx = @helper.balloon_next_index(-1)\r
+ @helper.refresh_balloon(idx)\r
+ false\r
+ \r
+class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Up extends Backbone.View\r
+ tagName: 'button'\r
+ className: 'r-up'\r
+ events: {\r
+ 'click': 'click'\r
+ }\r
+ \r
+ initialize: (options) ->\r
+ @field = options.field\r
+ @helper = options.helper\r
+ \r
+ render: () ->\r
+ this.$el.html('>')\r
+ this\r
+ \r
+ click: () -> \r
+ idx = @helper.balloon_next_index(1)\r
+ @helper.refresh_balloon(idx)\r
+ false\r
+ \r
+class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Reset extends Backbone.View\r
+ tagName: 'button'\r
+ className: 'r-reset'\r
+ events: {\r
+ 'click': 'click'\r
+ }\r
+ \r
+ initialize: (options) ->\r
+ @field = options.field\r
+ @helper = options.helper\r
+ \r
+ render: () ->\r
+ this.$el.html('reset')\r
+ this\r
+ \r
+ click: () -> \r
+ @field.tag.$el.val(0)\r
+ @helper.refresh_balloon(0)\r
+ false\r
+ \r
_.extend(@attr, @options())\r
this.$el.attr(@attr)\r
_this = this\r
- _.each @select_values(), (member) ->\r
- selected = if _this.is_selected(member)\r
- ' selected'\r
- else\r
- ''\r
- _this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
+ @select_values((members) ->\r
+ _.each members, (member) ->\r
+ selected = if _this.is_selected(member)\r
+ ' selected'\r
+ else\r
+ ''\r
+ _this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
+ )\r
this\r
\r
model_manifest: () ->\r
select_item_name: () ->\r
@model_attribute_manifest().source.select_item_name\r
\r
- items: () ->\r
- if @model_attribute_manifest().source.type == 'magic_number'\r
- Manifest.manifest().system_resources.select_items[@select_item_name()]\r
- else\r
- resource_model_name = @model_attribute_manifest().source.resource_model_name\r
- resource_list_name = @model_attribute_manifest().source.resource_list_name\r
- filter_column_name = @model_attribute_manifest().source.filter_column_name\r
- filter_id = @form().item().get(filter_column_name)\r
- list = Locmare.ListGroup.list resource_model_name, resource_list_name\r
- _.map list.items(null, {id: filter_id}), (i) ->\r
- [i.caption, i.id]\r
- \r
source_by_model: () ->\r
switch @model_attribute_manifest().source.type\r
when 'model', 'filter'\r
is_selected: (member) ->\r
@value() == member[1]\r
\r
- select_values: () ->\r
+ select_values: (cb) ->\r
if @source_by_model()\r
- @items()\r
+ resource_model_name = @model_attribute_manifest().source.resource_model_name\r
+ resource_list_name = @model_attribute_manifest().source.resource_list_name\r
+ filter_column_name = @model_attribute_manifest().source.filter_column_name\r
+ filter_id = @form().item.get(filter_column_name)\r
+ list = Locmare.ListGroup.list resource_model_name, resource_list_name\r
+ @select_values = _.map list.items(null, {id: filter_id}), (i) ->\r
+ [i.caption, i.id]\r
else\r
- Pettanr.AppHelper.t_select_items(@items())\r
+ s = Manifest.manifest().system_resources.select_items[@select_item_name()]\r
+ members = Pettanr.AppHelper.t_select_items(s)\r
+ cb(members)\r
\r
--- /dev/null
+class Locmare.ListGroup\r
+ @types: () ->\r
+ {\r
+ public: Locmare.ListGroupModule.PublicList, \r
+ private: Locmare.ListGroupModule.PrivateList, \r
+ system_resource: Locmare.ListGroupModule.SystemResourceList,\r
+ filter: Locmare.ListGroupModule.FilterList, \r
+ through_filter: Locmare.ListGroupModule.ThroughFilterList, \r
+ foreign_filter: Locmare.ListGroupModule.ForeignFilterList, \r
+ play: Locmare.ListGroupModule.PlayList\r
+ }\r
+ \r
+ @list: (item_name, list_name) ->\r
+ list_group_manifest = LocalManifest.manifest().list_groups[item_name]\r
+ list_manifest = list_group_manifest.lists[list_name]\r
+ c = Locmare.ListGroup.types()[list_manifest.type]\r
+ new c({item_name: item_name, list_name: list_name})\r
+ \r
+class Locmare.ListGroupModule\r
--- /dev/null
+class Locmare.ListGroupModule.Base extends Backbone.Collection\r
+ \r
+ initialize: (options) ->\r
+ @item_name = options.item_name\r
+ @list_name = options.list_name\r
+ @list_group_manifest = LocalManifest.manifest().list_groups[@item_name]\r
+ @list_manifest = @list_group_manifest.lists[@list_name]\r
+ @model_manifest = Manifest.manifest().models[@item_name]\r
+ @model_list_manifest = @model_manifest.list\r
+ @model = Manifest.item_name_to_model @item_name\r
+ @table_name = @model.table_name\r
+ \r
+ page_number: (prm = null) ->\r
+ page = Pettanr.to_i(parseInt(prm))\r
+ page = 1 if page < 1\r
+ page\r
+ \r
+ page_size: (prm) ->\r
+ page_size = Pettanr.to_i(parseInt(prm))\r
+ page_size = @max_page_size() if page_size > @max_page_size()\r
+ page_size = @default_page_size() if page_size < 1\r
+ page_size\r
+ \r
+ default_page_size: () ->\r
+ @model_list_manifest.default_page_size\r
+ \r
+ max_page_size: () ->\r
+ @model_list_manifest.max_page_size\r
+ \r
+ count: (operators, params, action) ->\r
+ new Pettanr.CounterModel({}, {url: '/' + action.counter_url(params)})\r
+ \r
+ open: (operators, params, action, options, cb) ->\r
+ page = @page_number(params['page']) \r
+ page_size = @page_size(params['page_size'])\r
+ #offset = (page - 1) * page_size\r
+ #items = @items(operators, params, offset, page_size, action)\r
+ @url = '/' + action.url(params)\r
+ _this = this\r
+ counter = new Locmare.ListGroupModule.Counter({}, {url: '/' + action.counter_url(params)})\r
+ counter.fetch().done ->\r
+ page_status = new Locmare.ListGroupModule.PageStatus(page, page_size, counter.count())\r
+ _this.fetch(options).done ->\r
+ #_this.boost(items)\r
+ cb(page_status)\r
+ \r
+class Locmare.ListGroupModule.Counter extends Backbone.Model\r
+ initialize: (attr, options) ->\r
+ @url = options['url']\r
+ \r
+ count: () ->\r
+ @get('count')\r
+ \r
+class Locmare.ListGroupModule.PageStatus\r
+ \r
+ constructor: (@current_page, @per_page, @count) ->\r
+ @window_size = 3\r
+ \r
--- /dev/null
+class Locmare.ListGroupModule.FilterList extends Locmare.ListGroupModule.Base\r
+ \r
--- /dev/null
+class Locmare.ListGroupModule.ForeignFilterList extends Locmare.ListGroupModule.Base\r
+ \r
--- /dev/null
+class Locmare.ListGroupModule.PlayList extends Locmare.ListGroupModule.Base\r
+ \r
--- /dev/null
+class Locmare.ListGroupModule.PrivateList extends Locmare.ListGroupModule.Base\r
+ \r
--- /dev/null
+class Locmare.ListGroupModule.PublicList extends Locmare.ListGroupModule.Base\r
+ \r
--- /dev/null
+class Locmare.ListGroupModule.SystemResourceList extends Locmare.ListGroupModule.Base\r
+ \r
--- /dev/null
+class Locmare.ListGroupModule.ThroughFilterList extends Locmare.ListGroupModule.Base\r
+ \r
render: () ->\r
this.$el.html('')\r
_this = this\r
- caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'associations'})\r
+ caption = new Tag.Div({class_name: 'caption', content: 'associations'})\r
this.$el.append(caption.render().el)\r
- caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'belongs_to'})\r
+ caption = new Tag.Div({class_name: 'caption', content: 'belongs_to'})\r
this.$el.append(caption.render().el)\r
_.each @belongs_to, (f) ->\r
_this.$el.append(f.render().el)\r
- caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'has_many'})\r
+ caption = new Tag.Div({class_name: 'caption', content: 'has_many'})\r
this.$el.append(caption.render().el)\r
_.each @has_many, (f) ->\r
_this.$el.append(f.render().el)\r
- caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'has_one'})\r
+ caption = new Tag.Div({class_name: 'caption', content: 'has_one'})\r
this.$el.append(caption.render().el)\r
_.each @has_one, (f) ->\r
_this.$el.append(f.render().el)\r
@belongs_to_manifest = options.belongs_to_manifest\r
pm = @parent_model()\r
m = new pm({id: @parent_id()})\r
- @filer = new Locmare.Filer({\r
- item_name: @parent_model().item_name(), \r
- collection: m, \r
- pager: null, \r
- operators: @profiler().operators\r
- })\r
+ _this = this\r
+ m.fetch().done ->\r
+ _this.filer = new Locmare.Filer({\r
+ item_name: _this.parent_model().item_name(), \r
+ items: m, \r
+ pager: null, \r
+ operators: _this.profiler().operators\r
+ })\r
+ _this.render()\r
\r
render: () ->\r
- this.$el.html(@filer.el)\r
+ this.$el.html(@filer.el) if @filer\r
this\r
\r
item: () ->\r
loaded_local_manifest.init()\r
\r
window.router = new Pettanr.Router()\r
- #Backbone.history.start({pushState: true})\r
- #window.router.navigate('', true)\r
- i = new Pettanr.GroundColor({id: 1})\r
- #i = new Pettanr.PanelPicture({id: 21})\r
- i.fetch().done ->\r
- form = new Locmare.Form({\r
- form_name: i.item_name(), \r
- item: i, \r
- mounted: true, \r
- submit: 'default', \r
- operators: window.operators,\r
- action: '/' + i.table_name() + '/' + Pettanr.to_s(i.get('id'))\r
- })\r
- $("#pettanr").html(form.render().el)\r
+ Backbone.history.start({pushState: true})\r
+ window.router.navigate('', true)\r
+ \r
+ t: ()->\r
+ #i = new Pettanr.Balloon({id: 1})\r
+ #i = new Pettanr.GroundColor({id: 1})\r
+ #i = new Pettanr.PanelPicture({id: 21})\r
+ #i = new Pettanr.License({id: 4})\r
+ i = new Pettanr.SpeechBalloon({id: 49})\r
+ i.fetch().done ->\r
+ b = new Pettanr.Balloon({id: 49})\r
+ b.fetch().done ->\r
+ s = new Pettanr.Speech({id: 49})\r
+ s.fetch().done ->\r
+ i.speech = s\r
+ i.balloon= b\r
+ form = new Locmare.Bucket.factory(\r
+ i.item_name(), \r
+ i, \r
+ true, \r
+ 'default', \r
+ window.operators,\r
+ '/' + i.table_name() + '/' + Pettanr.to_s(i.get('id'))\r
+ )\r
+ $("#pettanr").html(form.render().el)\r
\r
test_router: () ->\r
window.router.navigate('folders/98', true)\r
\r
find_boost_name: (column_name) -> \r
r = null\r
- _.each @boost, (boost_name, boost_manifest) ->\r
+ _.each @boost, (boost_manifest, boost_name) ->\r
r = boost_name if boost_manifest.settings_column_name == column_name\r
r\r
\r
is_extend_column: (column_name) ->\r
r = false\r
- _.each @boost, (boost_name, boost_manifest) ->\r
+ _.each @boost, (boost_manifest, boost_name) ->\r
r = true if boost_manifest.extend_column_name == column_name\r
r\r
\r
supply_defaults: (item) ->\r
- _.each @boost, (name, manifest) ->\r
+ _.each @boost, (manifest, name) ->\r
manifest.supply_default item\r
\r
overwrites: (item) ->\r
- _.each @boost, (name, manifest) ->\r
+ _.each @boost, (manifest, name) ->\r
manifest.overwrite item\r
\r
model: () ->\r
i.fetch().done ->\r
cb(i.tmb_opt_img_tag())\r
\r
+ parsed_settings: () ->\r
+ JSON.parse(@get('settings'))\r
+ \r
initialize: () ->\r
if @id\r
@url = @url + @id\r
@distance_of_time_in_words_to_now: (datetime) ->\r
datetime\r
\r
- class Pettanr.CounterModel extends Backbone.Model\r
- initialize: (attr, options) ->\r
- @url = options['url']\r
- \r
- count: () ->\r
- @get('count')\r
- \r
- class Pettanr.PageStatus\r
- \r
- constructor: (options) ->\r
- @action = options['action']\r
- @params = options['params']\r
- @current_page = parseInt(@params['page']) || 1\r
- @per_page = @params['page_size'] || 25\r
- @window_size = 3\r
- @counter = new Pettanr.CounterModel({}, {url: '/' + @action.counter_url(@params)})\r
- \r
class Pettanr.FilerCollection extends Backbone.Collection\r
\r
initialize: (models, options) ->\r
@set_model()\r
@my_list_model = Manifest.manifest().models[@my_action.item_name]\r
@my_list_model_class = @my_list_model.classify()\r
- @list_options = {\r
- model: @my_list_model_class, \r
- action: @my_action, \r
- params: @params\r
- }\r
- @page_status = new Pettanr.PageStatus(@list_options)\r
- @list = new Pettanr.FilerCollection({}, @list_options)\r
+ @list = Locmare.ListGroup.list(@my_action.item_name, @my_action.list_name)\r
\r
set_show: () ->\r
@set_model()\r
\r
filer_list: () ->\r
@set_list()\r
- @pager = new Locmare.FilerModule.DefaultPager({page_status: @page_status})\r
- f = new Locmare.Filer({\r
- el: "#pettanr",\r
- item_name: @my_list_model_class.item_name(), \r
- collection: @list, \r
- pager: @pager, \r
- operators: @operators\r
- })\r
+ _this = this\r
+ @list.open(@operators, @params, @my_action, {}, (page_status) ->\r
+ pager = new Locmare.FilerModule.DefaultPager({page_status: page_status})\r
+ f = new Locmare.Filer({\r
+ el: "#pettanr",\r
+ item_name: _this.my_list_model_class.item_name(), \r
+ items: _this.list.models, \r
+ pager: pager, \r
+ operators: _this.operators\r
+ })\r
+ )\r
\r
show_prof: () ->\r
profiler = new Locmare.Profiler({\r
class Pettanr.Image\r
\r
-class Pettanr.Image.Icon extends Pettanr.Tag.Img\r
+class Pettanr.Image.Icon extends Tag.Img\r
\r
# attr: {any_attr: 'hoge', ...}\r
# class_name: 'El-Class'\r
}\r
super(opt)\r
\r
-class Pettanr.Image.SymbolPicture extends Pettanr.Tag.Img\r
+class Pettanr.Image.SymbolPicture extends Tag.Img\r
# show picture as symbol size\r
\r
# attr: {src: '/2.png', alt: 'title', ...}\r
}\r
super(opt)\r
\r
-class Pettanr.Image.SymbolImg extends Pettanr.Tag.Img\r
+class Pettanr.Image.SymbolImg extends Tag.Img\r
# show image file as symbol size\r
\r
# attr: {src: '/2.png', alt: 'title', ...}\r
-class Pettanr.Tag\r
+class Tag\r
\r
-class Pettanr.Tag.Img extends Backbone.View\r
+class Tag.Img extends Backbone.View\r
tagName: 'img'\r
\r
# attr: {src: '/hoge', width: 80, ...}\r
this.$el.addClass(@class_name) if @class_name\r
this\r
\r
-class Pettanr.Tag.A extends Backbone.View\r
+class Tag.A extends Backbone.View\r
tagName: 'a'\r
\r
initialize: (options) ->\r
window.router.navigate(@handler_name, true)\r
return false\r
\r
-class Pettanr.Tag.Div extends Backbone.View\r
+class Tag.Div extends Backbone.View\r
tagName: 'div'\r
\r
initialize: (options) ->\r
this.$el.html(@content)\r
this\r
\r
-class Pettanr.Tag.RowBreak extends Pettanr.Tag.Div\r
+class Tag.RowBreak extends Tag.Div\r
initialize: (options) ->\r
+ @attr = {}\r
@content = null\r
@class_name = 'row_break'\r
\r
+@Tag = Tag\r
render: () ->\r
@attr = {style: Pettanr.to_style(@opt_div_style())}\r
this.$el.attr(@attr)\r
- @img = new Pettanr.Tag.Img({\r
+ @img = new Tag.Img({\r
attr: @opt_img_tag(@spot)\r
})\r
this.$el.html(@img.render().el)\r
tag = new c({element: element, root: _this.panel, spot: _this.spot})\r
_this.$el.append(tag.render().el)\r
else\r
- tag = new Pettanr.Tag.Div({\r
+ tag = new Tag.Div({\r
content: I18n.t('panels.hidden'), \r
class_name: 'hidden'\r
})\r
\r
render: () ->\r
attr = {style: Pettanr.to_style(@outer_style())}\r
- @div = new Pettanr.Tag.Div({\r
+ @div = new Tag.Div({\r
attr: {\r
style: Pettanr.to_style(@inner_style())\r
}, \r
},\r
helpers: {\r
tail_angle: {\r
- type: 'size',\r
+ type: 'tail_angle',\r
args: {\r
},\r
},\r
width: 256px;
margin: 3px 10px;
}
- .colorpicker .ui-slider-range {
- background: #ef2929;
- }
.tsort-box {
float: left;
end
end
- def form_field_name field_name
+ def form_field_name extend_field_name
# parent is field
- @parent.form_field_name(@field_name) + '[' + field_name + ']'
+ @parent.form_field_name(@field_name) + '[' + extend_field_name + ']'
end
def template_file_name
end
def items
- if self.model_attribute_manifest.source.type == 'magic_number'
+ if self.source_by_model?
::Manifest.manifest.system_resources.select_items[self.select_item_name]
else
resource_model_name = self.model_attribute_manifest.source.resource_model_name
},\r
"helpers": {\r
"tail_angle": {\r
- "type": "size",\r
+ "type": "tail_angle",\r
"args": {}\r
}\r
},\r