OSDN Git Service
(root)
/
pettanr
/
pettanr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git]
/
app
/
assets
/
javascripts
/
locmare
/
form.js.coffee
diff --git
a/app/assets/javascripts/locmare/form.js.coffee
b/app/assets/javascripts/locmare/form.js.coffee
index
11a73b9
..
33bc7c2
100644
(file)
--- a/
app/assets/javascripts/locmare/form.js.coffee
+++ b/
app/assets/javascripts/locmare/form.js.coffee
@@
-8,6
+8,7
@@
class Locmare.FormBase extends Backbone.View
\r
initialize: (options) ->
\r
@form_name = options.form_name #_with_sub_form
\r
\r
initialize: (options) ->
\r
@form_name = options.form_name #_with_sub_form
\r
+ @use_name = options.use_name || 'default'
\r
@item = options.item
\r
@mounted = options.mounted
\r
@submit = options.submit
\r
@item = options.item
\r
@mounted = options.mounted
\r
@submit = options.submit
\r
@@
-20,7
+21,7
@@
class Locmare.FormBase extends Backbone.View
@sub_form_names = []
\r
#@form_name = @form_name
\r
@root_form_name = @form_name
\r
@sub_form_names = []
\r
#@form_name = @form_name
\r
@root_form_name = @form_name
\r
- @manifest = LocalManifest.manifest().forms[@form_name]
\r
+ @manifest = LocalManifest.manifest().forms[@form_name]
.uses[@use_name]
\r
@fields = {}
\r
@on('change:field', @change)
\r
\r
@fields = {}
\r
@on('change:field', @change)
\r
\r
@@
-82,9
+83,16
@@
class Locmare.Form extends Locmare.FormBase
@delegateEvents({'submit': method_type})
\r
this
\r
\r
@delegateEvents({'submit': method_type})
\r
this
\r
\r
+ refresh: () ->
\r
+ _.each @fields, (field) =>
\r
+ field.refresh()
\r
+ _.each @child_forms, (child_form, name) =>
\r
+ child_form.refresh()
\r
+
\r
add_element: (element) ->
\r
form = Locmare.Form.factory({
\r
form_name: element.item_name(),
\r
add_element: (element) ->
\r
form = Locmare.Form.factory({
\r
form_name: element.item_name(),
\r
+ use_name: @use_name,
\r
item: element,
\r
mounted: @mounted,
\r
submit: null,
\r
item: element,
\r
mounted: @mounted,
\r
submit: null,
\r
@@
-115,6
+123,7
@@
class Locmare.Form extends Locmare.FormBase
@fields[field_name] = new Locmare.ExtendForm({
\r
parent: this,
\r
form_name: extend_form_name,
\r
@fields[field_name] = new Locmare.ExtendForm({
\r
parent: this,
\r
form_name: extend_form_name,
\r
+ use_name: @use_name,
\r
item: extend_item,
\r
mounted: @mounted,
\r
operators: @operators,
\r
item: extend_item,
\r
mounted: @mounted,
\r
operators: @operators,
\r
@@
-138,29
+147,30
@@
class Locmare.Form extends Locmare.FormBase
post: () ->
\r
_.each @fields, (field) =>
\r
@item.set(field.field_name, field.val())
\r
post: () ->
\r
_.each @fields, (field) =>
\r
@item.set(field.field_name, field.val())
\r
- if @item.save()
\r
- # redirect_to show
\r
- @trigger('navigate', @item.show_url())
\r
- return false
\r
- else
\r
- # render_form
\r
- alert('invalid')
\r
+ @item.unset('id') # isNew use flag that id attr set
\r
+ @trigger('http_post', @item.create_url(), this)
\r
+ return false
\r
\r
put: () ->
\r
_.each @fields, (field) =>
\r
@item.set(field.field_name, field.val())
\r
\r
put: () ->
\r
_.each @fields, (field) =>
\r
@item.set(field.field_name, field.val())
\r
- @item.overwrite({operators: @operators})
\r
- if @save()
\r
- @valid()
\r
- else
\r
- @invalid()
\r
+ @trigger('http_post', @item.update_url(), this)
\r
+ return false
\r
\r
save: (attrs = null, options = null) ->
\r
\r
save: (attrs = null, options = null) ->
\r
+ @listenTo(@item, 'save:success', @success)
\r
+ @listenTo(@item, 'save:fail', @fail)
\r
if attrs
\r
@item.save(attrs, options)
\r
else
\r
@item.save()
\r
\r
if attrs
\r
@item.save(attrs, options)
\r
else
\r
@item.save()
\r
\r
+ success: (model, response) ->
\r
+ @trigger('success', model, response)
\r
+
\r
+ fail: (model, response) ->
\r
+ @trigger('fail', response)
\r
+
\r
valid: () ->
\r
window.router.navigate('/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')), true)
\r
return false
\r
valid: () ->
\r
window.router.navigate('/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')), true)
\r
return false
\r
@@
-208,6
+218,9
@@
class Locmare.ExtendForm extends Locmare.FormBase
this.$el.append(@div_fields.render().el)
\r
this
\r
\r
this.$el.append(@div_fields.render().el)
\r
this
\r
\r
+ refresh: () ->
\r
+ @field.refresh()
\r
+
\r
init_fields: () ->
\r
_.each @manifest.field_names, (field_name) =>
\r
field_manifest = @manifest.fields[field_name]
\r
init_fields: () ->
\r
_.each @manifest.field_names, (field_name) =>
\r
field_manifest = @manifest.fields[field_name]
\r