ende 0.2.10 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/assets/javascripts/aura/extensions/widget/eventable.js.coffee +3 -1
- data/lib/assets/javascripts/widgets/content/main.js.coffee +1 -1
- data/lib/ende/version.rb +1 -1
- data/vendor/assets/components/ende_build.js +643 -138
- data/vendor/assets/javascripts/lennon/lennon.js +5 -5
- metadata +1 -3
- data/vendor/assets/components/build.css +0 -111
- data/vendor/assets/components/build.js +0 -30076
@@ -19209,6 +19209,199 @@ if (typeof module == "object" && typeof require == "function") {
|
|
19209
19209
|
|
19210
19210
|
return sinon;}.call(typeof window != 'undefined' && window || {}));
|
19211
19211
|
|
19212
|
+
});
|
19213
|
+
require.register("indefinido-indemma/vendor/owl/pluralize.js", function(exports, require, module){
|
19214
|
+
/* This file is part of OWL Pluralization.
|
19215
|
+
|
19216
|
+
OWL Pluralization is free software: you can redistribute it and/or
|
19217
|
+
modify it under the terms of the GNU Lesser General Public License
|
19218
|
+
as published by the Free Software Foundation, either version 3 of
|
19219
|
+
the License, or (at your option) any later version.
|
19220
|
+
|
19221
|
+
OWL Pluralization is distributed in the hope that it will be useful,
|
19222
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
19223
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
19224
|
+
GNU Lesser General Public License for more details.
|
19225
|
+
|
19226
|
+
You should have received a copy of the GNU Lesser General Public
|
19227
|
+
License along with OWL Pluralization. If not, see
|
19228
|
+
<http://www.gnu.org/licenses/>.
|
19229
|
+
*/
|
19230
|
+
|
19231
|
+
// prepare the owl namespace.
|
19232
|
+
if ( typeof owl === 'undefined' ) owl = {};
|
19233
|
+
|
19234
|
+
owl.pluralize = (function() {
|
19235
|
+
var userDefined = {};
|
19236
|
+
|
19237
|
+
function capitalizeSame(word, sampleWord) {
|
19238
|
+
if ( sampleWord.match(/^[A-Z]/) ) {
|
19239
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
19240
|
+
} else {
|
19241
|
+
return word;
|
19242
|
+
}
|
19243
|
+
}
|
19244
|
+
|
19245
|
+
// returns a plain Object having the given keys,
|
19246
|
+
// all with value 1, which can be used for fast lookups.
|
19247
|
+
function toKeys(keys) {
|
19248
|
+
keys = keys.split(',');
|
19249
|
+
var keysLength = keys.length;
|
19250
|
+
var table = {};
|
19251
|
+
for ( var i=0; i < keysLength; i++ ) {
|
19252
|
+
table[ keys[i] ] = 1;
|
19253
|
+
}
|
19254
|
+
return table;
|
19255
|
+
}
|
19256
|
+
|
19257
|
+
// words that are always singular, always plural, or the same in both forms.
|
19258
|
+
var uninflected = toKeys("aircraft,advice,blues,corn,molasses,equipment,gold,information,cotton,jewelry,kin,legislation,luck,luggage,moose,music,offspring,rice,silver,trousers,wheat,bison,bream,breeches,britches,carp,chassis,clippers,cod,contretemps,corps,debris,diabetes,djinn,eland,elk,flounder,gallows,graffiti,headquarters,herpes,high,homework,innings,jackanapes,mackerel,measles,mews,mumps,news,pincers,pliers,proceedings,rabies,salmon,scissors,sea,series,shears,species,swine,trout,tuna,whiting,wildebeest,pike,oats,tongs,dregs,snuffers,victuals,tweezers,vespers,pinchers,bellows,cattle");
|
19259
|
+
|
19260
|
+
var irregular = {
|
19261
|
+
// pronouns
|
19262
|
+
I: 'we',
|
19263
|
+
you: 'you',
|
19264
|
+
he: 'they',
|
19265
|
+
it: 'they', // or them
|
19266
|
+
me: 'us',
|
19267
|
+
you: 'you',
|
19268
|
+
him: 'them',
|
19269
|
+
them: 'them',
|
19270
|
+
myself: 'ourselves',
|
19271
|
+
yourself: 'yourselves',
|
19272
|
+
himself: 'themselves',
|
19273
|
+
herself: 'themselves',
|
19274
|
+
itself: 'themselves',
|
19275
|
+
themself: 'themselves',
|
19276
|
+
oneself: 'oneselves',
|
19277
|
+
|
19278
|
+
child: 'children',
|
19279
|
+
dwarf: 'dwarfs', // dwarfs are real; dwarves are fantasy.
|
19280
|
+
mongoose: 'mongooses',
|
19281
|
+
mythos: 'mythoi',
|
19282
|
+
ox: 'oxen',
|
19283
|
+
soliloquy: 'soliloquies',
|
19284
|
+
trilby: 'trilbys',
|
19285
|
+
person: 'people',
|
19286
|
+
forum: 'forums', // fora is ok but uncommon.
|
19287
|
+
|
19288
|
+
// latin plural in popular usage.
|
19289
|
+
syllabus: 'syllabi',
|
19290
|
+
alumnus: 'alumni',
|
19291
|
+
genus: 'genera',
|
19292
|
+
viscus: 'viscera',
|
19293
|
+
stigma: 'stigmata'
|
19294
|
+
};
|
19295
|
+
|
19296
|
+
var suffixRules = [
|
19297
|
+
// common suffixes
|
19298
|
+
[ /man$/i, 'men' ],
|
19299
|
+
[ /([lm])ouse$/i, '$1ice' ],
|
19300
|
+
[ /tooth$/i, 'teeth' ],
|
19301
|
+
[ /goose$/i, 'geese' ],
|
19302
|
+
[ /foot$/i, 'feet' ],
|
19303
|
+
[ /zoon$/i, 'zoa' ],
|
19304
|
+
[ /([tcsx])is$/i, '$1es' ],
|
19305
|
+
|
19306
|
+
// fully assimilated suffixes
|
19307
|
+
[ /ix$/i, 'ices' ],
|
19308
|
+
[ /^(cod|mur|sil|vert)ex$/i, '$1ices' ],
|
19309
|
+
[ /^(agend|addend|memorand|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi)um$/i, '$1a' ],
|
19310
|
+
[ /^(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|\w+hedr)on$/i, '$1a' ],
|
19311
|
+
[ /^(alumn|alg|vertebr)a$/i, '$1ae' ],
|
19312
|
+
|
19313
|
+
// churches, classes, boxes, etc.
|
19314
|
+
[ /([cs]h|ss|x)$/i, '$1es' ],
|
19315
|
+
|
19316
|
+
// words with -ves plural form
|
19317
|
+
[ /([aeo]l|[^d]ea|ar)f$/i, '$1ves' ],
|
19318
|
+
[ /([nlw]i)fe$/i, '$1ves' ],
|
19319
|
+
|
19320
|
+
// -y
|
19321
|
+
[ /([aeiou])y$/i, '$1ys' ],
|
19322
|
+
[ /(^[A-Z][a-z]*)y$/, '$1ys' ], // case sensitive!
|
19323
|
+
[ /y$/i, 'ies' ],
|
19324
|
+
|
19325
|
+
// -o
|
19326
|
+
[ /([aeiou])o$/i, '$1os' ],
|
19327
|
+
[ /^(pian|portic|albin|generalissim|manifest|archipelag|ghett|medic|armadill|guan|octav|command|infern|phot|ditt|jumb|pr|dynam|ling|quart|embry|lumbag|rhin|fiasc|magnet|styl|alt|contralt|sopran|bass|crescend|temp|cant|sol|kimon)o$/i, '$1os' ],
|
19328
|
+
[ /o$/i, 'oes' ],
|
19329
|
+
|
19330
|
+
// words ending in s...
|
19331
|
+
[ /s$/i, 'ses' ]
|
19332
|
+
];
|
19333
|
+
|
19334
|
+
// pluralizes the given singular noun. There are three ways to call it:
|
19335
|
+
// pluralize(noun) -> pluralNoun
|
19336
|
+
// Returns the plural of the given noun.
|
19337
|
+
// Example:
|
19338
|
+
// pluralize("person") -> "people"
|
19339
|
+
// pluralize("me") -> "us"
|
19340
|
+
//
|
19341
|
+
// pluralize(noun, count) -> plural or singular noun
|
19342
|
+
// Inflect the noun according to the count, returning the singular noun
|
19343
|
+
// if the count is 1.
|
19344
|
+
// Examples:
|
19345
|
+
// pluralize("person", 3) -> "people"
|
19346
|
+
// pluralize("person", 1) -> "person"
|
19347
|
+
// pluralize("person", 0) -> "people"
|
19348
|
+
//
|
19349
|
+
// pluralize(noun, count, plural) -> plural or singular noun
|
19350
|
+
// you can provide an irregular plural yourself as the 3rd argument.
|
19351
|
+
// Example:
|
19352
|
+
// pluralize("château", 2 "châteaux") -> "châteaux"
|
19353
|
+
function pluralize(word, count, plural) {
|
19354
|
+
// handle the empty string reasonably.
|
19355
|
+
if ( word === '' ) return '';
|
19356
|
+
|
19357
|
+
// singular case.
|
19358
|
+
if ( count === 1 ) return word;
|
19359
|
+
|
19360
|
+
// life is very easy if an explicit plural was provided.
|
19361
|
+
if ( typeof plural === 'string' ) return plural;
|
19362
|
+
|
19363
|
+
var lowerWord = word.toLowerCase();
|
19364
|
+
|
19365
|
+
// user defined rules have the highest priority.
|
19366
|
+
if ( lowerWord in userDefined ) {
|
19367
|
+
return capitalizeSame(userDefined[lowerWord], word);
|
19368
|
+
}
|
19369
|
+
|
19370
|
+
// single letters are pluralized with 's, "I got five A's on
|
19371
|
+
// my report card."
|
19372
|
+
if ( word.match(/^[A-Z]$/) ) return word + "'s";
|
19373
|
+
|
19374
|
+
// some word don't change form when plural.
|
19375
|
+
if ( word.match(/fish$|ois$|sheep$|deer$|pox$|itis$/i) ) return word;
|
19376
|
+
if ( word.match(/^[A-Z][a-z]*ese$/) ) return word; // Nationalities.
|
19377
|
+
if ( lowerWord in uninflected ) return word;
|
19378
|
+
|
19379
|
+
// there's a known set of words with irregular plural forms.
|
19380
|
+
if ( lowerWord in irregular ) {
|
19381
|
+
return capitalizeSame(irregular[lowerWord], word);
|
19382
|
+
}
|
19383
|
+
|
19384
|
+
// try to pluralize the word depending on its suffix.
|
19385
|
+
var suffixRulesLength = suffixRules.length;
|
19386
|
+
for ( var i=0; i < suffixRulesLength; i++ ) {
|
19387
|
+
var rule = suffixRules[i];
|
19388
|
+
if ( word.match(rule[0]) ) {
|
19389
|
+
return word.replace(rule[0], rule[1]);
|
19390
|
+
}
|
19391
|
+
}
|
19392
|
+
|
19393
|
+
// if all else fails, just add s.
|
19394
|
+
return word + 's';
|
19395
|
+
}
|
19396
|
+
|
19397
|
+
pluralize.define = function(word, plural) {
|
19398
|
+
userDefined[word.toLowerCase()] = plural;
|
19399
|
+
}
|
19400
|
+
|
19401
|
+
return pluralize;
|
19402
|
+
|
19403
|
+
})();
|
19404
|
+
|
19212
19405
|
});
|
19213
19406
|
require.register("indefinido-indemma/lib/record.js", function(exports, require, module){
|
19214
19407
|
var $, advisable, bind, extend, merge, observable, type,
|
@@ -19234,7 +19427,8 @@ this.model = (function() {
|
|
19234
19427
|
modelable = {
|
19235
19428
|
after_mix: [],
|
19236
19429
|
record: {
|
19237
|
-
after_initialize: []
|
19430
|
+
after_initialize: [],
|
19431
|
+
before_initialize: []
|
19238
19432
|
},
|
19239
19433
|
all: function() {
|
19240
19434
|
return this.cache;
|
@@ -19245,11 +19439,6 @@ this.model = (function() {
|
|
19245
19439
|
params = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
19246
19440
|
throw 'model.create not implemented yet, try using the restful.model.create method';
|
19247
19441
|
},
|
19248
|
-
find: function(id) {
|
19249
|
-
return this.where({
|
19250
|
-
id: id
|
19251
|
-
}, true);
|
19252
|
-
},
|
19253
19442
|
where: function(conditions, first) {
|
19254
19443
|
var record, results, _i, _len, _ref;
|
19255
19444
|
|
@@ -19279,7 +19468,7 @@ this.model = (function() {
|
|
19279
19468
|
}
|
19280
19469
|
};
|
19281
19470
|
initialize_record = function(data) {
|
19282
|
-
var after_initialize, callback, instance, _i, _len, _ref;
|
19471
|
+
var after_initialize, callback, creation, index, instance, _i, _j, _len, _len1, _ref, _ref1;
|
19283
19472
|
|
19284
19473
|
if (data == null) {
|
19285
19474
|
data = {
|
@@ -19292,12 +19481,18 @@ this.model = (function() {
|
|
19292
19481
|
data.route || (data.route = this.route);
|
19293
19482
|
data.nested_attributes = this.nested_attributes || [];
|
19294
19483
|
after_initialize = (data.after_initialize || []).concat(this.record.after_initialize);
|
19295
|
-
|
19484
|
+
creation = extend(Object.create(data), this.record, creation, {
|
19296
19485
|
after_initialize: after_initialize
|
19297
|
-
})
|
19298
|
-
_ref =
|
19299
|
-
for (_i = 0, _len = _ref.length; _i < _len; _i
|
19300
|
-
callback = _ref[
|
19486
|
+
});
|
19487
|
+
_ref = this.record.before_initialize;
|
19488
|
+
for (index = _i = 0, _len = _ref.length; _i < _len; index = ++_i) {
|
19489
|
+
callback = _ref[index];
|
19490
|
+
callback.call(this, creation);
|
19491
|
+
}
|
19492
|
+
instance = record.call(creation);
|
19493
|
+
_ref1 = instance.after_initialize;
|
19494
|
+
for (index = _j = 0, _len1 = _ref1.length; _j < _len1; index = ++_j) {
|
19495
|
+
callback = _ref1[index];
|
19301
19496
|
callback.call(instance, instance);
|
19302
19497
|
}
|
19303
19498
|
delete instance.after_initialize;
|
@@ -19321,6 +19516,7 @@ this.model = (function() {
|
|
19321
19516
|
extend(instance, merge(this, modelable));
|
19322
19517
|
this.record = instance.record = merge({}, instance.record, modelable.record);
|
19323
19518
|
this.record.after_initialize = instance.record.after_initialize = instance.record.after_initialize.concat(after_initialize);
|
19519
|
+
this.record.before_initialize = instance.record.before_initialize.concat([]);
|
19324
19520
|
_ref = modelable.after_mix;
|
19325
19521
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
19326
19522
|
callback = _ref[_i];
|
@@ -19371,13 +19567,15 @@ exports.model = this.model;
|
|
19371
19567
|
|
19372
19568
|
});
|
19373
19569
|
require.register("indefinido-indemma/lib/record/associable.js", function(exports, require, module){
|
19374
|
-
var $, associable, model, plural, root, singular,
|
19570
|
+
var $, associable, callbacks, extend, model, modifiers, plural, root, singular, subscribers,
|
19375
19571
|
__slice = [].slice;
|
19376
19572
|
|
19377
19573
|
root = window;
|
19378
19574
|
|
19379
19575
|
$ = require('jquery');
|
19380
19576
|
|
19577
|
+
extend = require('assimilate');
|
19578
|
+
|
19381
19579
|
require('./resource');
|
19382
19580
|
|
19383
19581
|
plural = {
|
@@ -19421,7 +19619,10 @@ plural = {
|
|
19421
19619
|
data[_name = this.parent_resource] || (data[_name] = this.parent);
|
19422
19620
|
return model[model.singularize(this.resource)](data);
|
19423
19621
|
},
|
19424
|
-
push:
|
19622
|
+
push: function() {
|
19623
|
+
console.warn("" + this.resource + ".push is deprecated and will be removed, please use add instead");
|
19624
|
+
return Array.prototype.push.apply(this, arguments);
|
19625
|
+
},
|
19425
19626
|
length: 0,
|
19426
19627
|
json: function(methods, omissions) {
|
19427
19628
|
var record, _i, _len, _results;
|
@@ -19437,92 +19638,192 @@ plural = {
|
|
19437
19638
|
|
19438
19639
|
singular = {
|
19439
19640
|
create: function(data) {
|
19440
|
-
return model[this.resource].create(
|
19641
|
+
return model[this.resource].create(extend({}, this, data));
|
19441
19642
|
},
|
19442
19643
|
build: function(data) {
|
19443
|
-
return this
|
19644
|
+
return this.owner[this.resource.toString()] = model[this.resource.toString()](extend({}, this, data));
|
19444
19645
|
}
|
19445
19646
|
};
|
19446
19647
|
|
19447
|
-
|
19448
|
-
|
19449
|
-
|
19648
|
+
subscribers = {
|
19649
|
+
belongs_to: {
|
19650
|
+
foreign_key: function(resource_id) {
|
19651
|
+
var associated, association_name, current_resource_id, resource, _ref;
|
19450
19652
|
|
19451
|
-
|
19452
|
-
|
19653
|
+
association_name = this.resource.toString();
|
19654
|
+
if (resource_id === null || resource_id === void 0) {
|
19655
|
+
this.dirty = true;
|
19656
|
+
this.owner[association_name] = resource_id;
|
19657
|
+
return resource_id;
|
19658
|
+
}
|
19659
|
+
current_resource_id = (_ref = this.owner[association_name]) != null ? _ref._id : void 0;
|
19660
|
+
if (resource_id !== current_resource_id) {
|
19661
|
+
resource = model[association_name];
|
19662
|
+
if (!resource) {
|
19663
|
+
console.warn("subscribers.belongs_to.foreign_key: associated factory not found for model: " + association_name);
|
19664
|
+
return resource_id;
|
19665
|
+
}
|
19666
|
+
associated = resource.find(resource_id);
|
19667
|
+
associated || (associated = resource({
|
19668
|
+
_id: resource_id
|
19669
|
+
}));
|
19670
|
+
this.owner.observed[association_name] = associated;
|
19671
|
+
}
|
19672
|
+
return resource_id;
|
19673
|
+
},
|
19674
|
+
associated_changed: function(associated) {
|
19675
|
+
return this.owner.observed["" + (this.resource.toString()) + "_id"] = associated ? associated._id : null;
|
19453
19676
|
}
|
19454
|
-
|
19455
|
-
|
19456
|
-
nest_attributes: function() {
|
19457
|
-
var association, association_name, association_names, associations_attributes, message, _i, _len, _results;
|
19677
|
+
}
|
19678
|
+
};
|
19458
19679
|
|
19459
|
-
|
19460
|
-
|
19461
|
-
|
19462
|
-
|
19463
|
-
|
19464
|
-
|
19465
|
-
|
19466
|
-
|
19467
|
-
|
19468
|
-
|
19469
|
-
|
19470
|
-
|
19471
|
-
|
19472
|
-
|
19473
|
-
|
19474
|
-
|
19475
|
-
|
19476
|
-
|
19477
|
-
|
19478
|
-
|
19479
|
-
return
|
19680
|
+
modifiers = {
|
19681
|
+
belongs_to: {
|
19682
|
+
associated_loader: function() {
|
19683
|
+
var association_name,
|
19684
|
+
_this = this;
|
19685
|
+
|
19686
|
+
association_name = this.resource.toString();
|
19687
|
+
return Object.defineProperty(this.owner, association_name, {
|
19688
|
+
set: function(associated) {
|
19689
|
+
return this.observed[association_name] = associated;
|
19690
|
+
},
|
19691
|
+
get: function() {
|
19692
|
+
var associated, associated_id, resource;
|
19693
|
+
|
19694
|
+
associated = _this.owner.observed[association_name];
|
19695
|
+
associated_id = _this.owner.observed[association_name + '_id'];
|
19696
|
+
if (!(((associated != null ? associated._id : void 0) != null) || associated_id)) {
|
19697
|
+
return associated;
|
19698
|
+
}
|
19699
|
+
if (associated != null ? associated.sustained : void 0) {
|
19700
|
+
return associated;
|
19480
19701
|
}
|
19702
|
+
resource = model[association_name];
|
19703
|
+
if (!resource) {
|
19704
|
+
console.warn("subscribers.belongs_to.foreign_key: associated factory not found for model: " + association_name);
|
19705
|
+
return associated;
|
19706
|
+
}
|
19707
|
+
associated = resource.find(associated_id || associated._id);
|
19708
|
+
associated || (associated = resource({
|
19709
|
+
_id: associated_id
|
19710
|
+
}));
|
19711
|
+
resource.storage.store(associated._id, associated);
|
19712
|
+
associated.reload();
|
19713
|
+
return _this.owner.observed[association_name] = associated;
|
19481
19714
|
},
|
19482
|
-
|
19483
|
-
|
19715
|
+
configurable: true,
|
19716
|
+
enumerable: true
|
19717
|
+
});
|
19718
|
+
}
|
19719
|
+
}
|
19720
|
+
};
|
19484
19721
|
|
19485
|
-
|
19486
|
-
|
19487
|
-
|
19722
|
+
callbacks = {
|
19723
|
+
has_many: {
|
19724
|
+
nest_attributes: function() {
|
19725
|
+
var association, association_name, association_names, associations_attributes, message, _i, _len, _results;
|
19726
|
+
|
19727
|
+
association_names = model[this.resource].has_many;
|
19728
|
+
if (association_names) {
|
19729
|
+
_results = [];
|
19730
|
+
for (_i = 0, _len = association_names.length; _i < _len; _i++) {
|
19731
|
+
association_name = association_names[_i];
|
19732
|
+
associations_attributes = this["" + association_name + "_attributes"];
|
19733
|
+
if (associations_attributes && associations_attributes.length) {
|
19734
|
+
association = this[model.pluralize(association_name)];
|
19735
|
+
if (!association) {
|
19736
|
+
message = "has_many.nest_attributes: Association not found for " + association_name + ". \n";
|
19737
|
+
message += "did you set it on model declaration? \n has_many: " + association_name + " ";
|
19738
|
+
throw message;
|
19739
|
+
}
|
19740
|
+
association.resource = model.singularize(association.resource);
|
19741
|
+
association.add.apply(association, associations_attributes);
|
19742
|
+
_results.push(association.resource = model.pluralize(association.resource));
|
19743
|
+
} else {
|
19744
|
+
_results.push(void 0);
|
19488
19745
|
}
|
19489
|
-
|
19490
|
-
|
19491
|
-
|
19492
|
-
|
19493
|
-
|
19494
|
-
|
19495
|
-
|
19496
|
-
|
19497
|
-
|
19498
|
-
|
19499
|
-
|
19500
|
-
|
19501
|
-
|
19746
|
+
}
|
19747
|
+
return _results;
|
19748
|
+
}
|
19749
|
+
},
|
19750
|
+
update_association: function(data) {
|
19751
|
+
var associated, association, association_name, id, pluralized_association, _i, _j, _len, _len1, _ref;
|
19752
|
+
|
19753
|
+
id = this._id || data && (data._id || data.id);
|
19754
|
+
if (!id) {
|
19755
|
+
return;
|
19756
|
+
}
|
19757
|
+
_ref = model[this.resource.toString()].has_many;
|
19758
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
19759
|
+
association_name = _ref[_i];
|
19760
|
+
pluralized_association = model.pluralize(association_name);
|
19761
|
+
association = this[pluralized_association];
|
19762
|
+
if (!association.route) {
|
19763
|
+
association.route = "/" + (model.pluralize(this.resource.toString())) + "/" + id + "/" + (model.pluralize(association.resource));
|
19764
|
+
for (_j = 0, _len1 = association.length; _j < _len1; _j++) {
|
19765
|
+
associated = association[_j];
|
19766
|
+
if (!associated.route && (associated.parent != null)) {
|
19767
|
+
associated.route = "/" + (model.pluralize(this.resource.toString())) + "/" + id + "/" + (model.pluralize(association.resource));
|
19502
19768
|
}
|
19503
19769
|
}
|
19504
|
-
return true;
|
19505
|
-
},
|
19506
|
-
autosave: function() {
|
19507
|
-
return this.save();
|
19508
19770
|
}
|
19509
19771
|
}
|
19510
|
-
|
19511
|
-
|
19512
|
-
|
19513
|
-
|
19514
|
-
if (this.has_one && $.type(this.has_one) !== 'array') {
|
19515
|
-
this.has_one = [this.has_one];
|
19772
|
+
return true;
|
19773
|
+
},
|
19774
|
+
autosave: function() {
|
19775
|
+
throw 'Not implemented yet';
|
19516
19776
|
}
|
19517
|
-
|
19518
|
-
|
19777
|
+
},
|
19778
|
+
has_one: {
|
19779
|
+
nest_attributes: function() {
|
19780
|
+
var association_name, association_names, associations_attributes, _i, _len, _results;
|
19781
|
+
|
19782
|
+
association_names = model[this.resource].has_one;
|
19783
|
+
if (association_names) {
|
19784
|
+
_results = [];
|
19785
|
+
for (_i = 0, _len = association_names.length; _i < _len; _i++) {
|
19786
|
+
association_name = association_names[_i];
|
19787
|
+
associations_attributes = this["" + association_name + "_attributes"];
|
19788
|
+
if (associations_attributes) {
|
19789
|
+
this[association_name] = this["build_" + association_name](associations_attributes);
|
19790
|
+
_results.push(delete this["" + association_name + "_attributes"]);
|
19791
|
+
} else {
|
19792
|
+
_results.push(void 0);
|
19793
|
+
}
|
19794
|
+
}
|
19795
|
+
return _results;
|
19796
|
+
}
|
19519
19797
|
}
|
19520
|
-
|
19521
|
-
|
19522
|
-
|
19523
|
-
|
19524
|
-
|
19798
|
+
}
|
19799
|
+
};
|
19800
|
+
|
19801
|
+
associable = {
|
19802
|
+
model: {
|
19803
|
+
blender: function(definition) {
|
19804
|
+
var model;
|
19805
|
+
|
19806
|
+
model = associable.model;
|
19807
|
+
this.create_after_hooks = model.create_after_hooks;
|
19808
|
+
this.create_before_hooks = model.create_before_hooks;
|
19809
|
+
if (this.has_many && $.type(this.has_many) !== 'array') {
|
19810
|
+
this.has_many = [this.has_many];
|
19811
|
+
}
|
19812
|
+
if (this.has_one && $.type(this.has_one) !== 'array') {
|
19813
|
+
this.has_one = [this.has_one];
|
19814
|
+
}
|
19815
|
+
if (this.belongs_to && $.type(this.belongs_to) !== 'array') {
|
19816
|
+
this.belongs_to = [this.belongs_to];
|
19817
|
+
}
|
19818
|
+
this.has_many || (this.has_many = []);
|
19819
|
+
this.has_one || (this.has_one = []);
|
19820
|
+
this.belongs_to || (this.belongs_to = []);
|
19821
|
+
return true;
|
19822
|
+
},
|
19823
|
+
create_after_hooks: function(definition) {
|
19824
|
+
var association_name, association_proxy, old_resource_id, options, resource, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _results;
|
19525
19825
|
|
19826
|
+
options = model[this.resource.name || this.resource.toString()];
|
19526
19827
|
if (options.has_many) {
|
19527
19828
|
_ref = options.has_many;
|
19528
19829
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
@@ -19544,12 +19845,14 @@ associable = {
|
|
19544
19845
|
resource = _ref1[_j];
|
19545
19846
|
association_proxy = {
|
19546
19847
|
resource: resource,
|
19547
|
-
parent_resource: this.resource
|
19848
|
+
parent_resource: this.resource,
|
19849
|
+
owner: this
|
19548
19850
|
};
|
19549
|
-
association_proxy[this.resource] = this;
|
19851
|
+
association_proxy[this.resource.toString()] = this;
|
19550
19852
|
this["build_" + resource] = $.proxy(singular.build, association_proxy);
|
19551
19853
|
this["create_" + resource] = $.proxy(singular.create, association_proxy);
|
19552
19854
|
}
|
19855
|
+
callbacks.has_one.nest_attributes.call(this);
|
19553
19856
|
}
|
19554
19857
|
if (options.belongs_to) {
|
19555
19858
|
_ref2 = options.belongs_to;
|
@@ -19558,29 +19861,69 @@ associable = {
|
|
19558
19861
|
resource = _ref2[_k];
|
19559
19862
|
association_proxy = {
|
19560
19863
|
resource: resource,
|
19561
|
-
parent_resource: this.resource
|
19864
|
+
parent_resource: this.resource,
|
19865
|
+
parent: this,
|
19866
|
+
owner: this
|
19562
19867
|
};
|
19563
|
-
association_proxy[this.resource] = this;
|
19868
|
+
association_proxy[this.resource.toString()] = this;
|
19564
19869
|
this["build_" + resource] = $.proxy(singular.build, association_proxy);
|
19565
|
-
|
19870
|
+
this["create_" + resource] = $.proxy(singular.create, association_proxy);
|
19871
|
+
old_resource_id = this["" + resource + "_id"];
|
19872
|
+
this["" + resource + "_id"] = null;
|
19873
|
+
this.subscribe("" + resource + "_id", $.proxy(subscribers.belongs_to.foreign_key, association_proxy));
|
19874
|
+
this.subscribe(resource.toString(), $.proxy(subscribers.belongs_to.associated_changed, association_proxy));
|
19875
|
+
this.resource_id = old_resource_id;
|
19876
|
+
if (this["" + resource + "_id"] && !this[resource]) {
|
19877
|
+
_results.push(this.publish("" + resource + "_id", this["" + resource + "_id"]));
|
19878
|
+
} else {
|
19879
|
+
_results.push(void 0);
|
19880
|
+
}
|
19566
19881
|
}
|
19567
19882
|
return _results;
|
19568
19883
|
}
|
19569
|
-
}
|
19884
|
+
},
|
19885
|
+
create_before_hooks: function(record) {
|
19886
|
+
var association_proxy, definition, resource, _i, _len, _ref, _results;
|
19887
|
+
|
19888
|
+
definition = this;
|
19889
|
+
if (definition.belongs_to) {
|
19890
|
+
_ref = definition.belongs_to;
|
19891
|
+
_results = [];
|
19892
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
19893
|
+
resource = _ref[_i];
|
19894
|
+
association_proxy = {
|
19895
|
+
resource: resource,
|
19896
|
+
parent_resource: this.resource,
|
19897
|
+
owner: record
|
19898
|
+
};
|
19899
|
+
_results.push(modifiers.belongs_to.associated_loader.call(association_proxy));
|
19900
|
+
}
|
19901
|
+
return _results;
|
19902
|
+
}
|
19903
|
+
}
|
19570
19904
|
},
|
19571
|
-
record:
|
19572
|
-
|
19573
|
-
|
19905
|
+
record: {
|
19906
|
+
after_initialize: function(attributes) {
|
19907
|
+
if (this.resource == null) {
|
19908
|
+
throw new Error('resource must be defined in order to associate');
|
19909
|
+
}
|
19910
|
+
return model[this.resource.name || this.resource.toString()].create_after_hooks.call(this);
|
19911
|
+
},
|
19912
|
+
before_initialize: function(creation) {
|
19913
|
+
if (!this.resource) {
|
19914
|
+
throw new Error('resource must be defined in order to associate');
|
19915
|
+
}
|
19916
|
+
return model[this.resource.name || this.resource.toString()].create_before_hooks(creation);
|
19574
19917
|
}
|
19575
|
-
return model[this.resource.name || this.resource.toString()].create_associations.call(this);
|
19576
19918
|
}
|
19577
19919
|
};
|
19578
19920
|
|
19579
19921
|
model = root.model;
|
19580
19922
|
|
19581
19923
|
model.mix(function(modelable) {
|
19582
|
-
modelable.after_mix.push(associable.model);
|
19583
|
-
|
19924
|
+
modelable.after_mix.push(associable.model.blender);
|
19925
|
+
modelable.record.before_initialize.push(associable.record.before_initialize);
|
19926
|
+
return modelable.record.after_initialize.push(associable.record.after_initialize);
|
19584
19927
|
});
|
19585
19928
|
|
19586
19929
|
model.associable = {
|
@@ -19589,12 +19932,135 @@ model.associable = {
|
|
19589
19932
|
}
|
19590
19933
|
};
|
19591
19934
|
|
19935
|
+
});
|
19936
|
+
require.register("indefinido-indemma/lib/record/persistable.js", function(exports, require, module){
|
19937
|
+
var handlers, model, persistable, record;
|
19938
|
+
|
19939
|
+
require('./queryable');
|
19940
|
+
|
19941
|
+
handlers = {
|
19942
|
+
store_after_saved: function() {
|
19943
|
+
var storage;
|
19944
|
+
|
19945
|
+
storage = model[this.resource.toString()].storage;
|
19946
|
+
if (this._id) {
|
19947
|
+
return storage.store(this._id, this);
|
19948
|
+
}
|
19949
|
+
}
|
19950
|
+
};
|
19951
|
+
|
19952
|
+
persistable = {
|
19953
|
+
record: {
|
19954
|
+
after_initialize: function() {
|
19955
|
+
return this.after('saved', handlers.store_after_saved);
|
19956
|
+
}
|
19957
|
+
}
|
19958
|
+
};
|
19959
|
+
|
19960
|
+
model = window.model;
|
19961
|
+
|
19962
|
+
record = window.record;
|
19963
|
+
|
19964
|
+
model.persistable = true;
|
19965
|
+
|
19966
|
+
model.mix(function(modelable) {
|
19967
|
+
return modelable.record.after_initialize.push(persistable.record.after_initialize);
|
19968
|
+
});
|
19969
|
+
|
19970
|
+
});
|
19971
|
+
require.register("indefinido-indemma/lib/record/storable.js", function(exports, require, module){
|
19972
|
+
var extend, merge, model, record, stampit, storable;
|
19973
|
+
|
19974
|
+
extend = require('assimilate');
|
19975
|
+
|
19976
|
+
merge = extend.withStrategy('deep');
|
19977
|
+
|
19978
|
+
stampit = require('../../vendor/stampit');
|
19979
|
+
|
19980
|
+
storable = stampit({
|
19981
|
+
store: function(keypath, value, options) {
|
19982
|
+
var collection, entry, key, _i, _len;
|
19983
|
+
|
19984
|
+
collection = this.database;
|
19985
|
+
keypath = keypath.toString().split('.');
|
19986
|
+
key = keypath.pop();
|
19987
|
+
for (_i = 0, _len = keypath.length; _i < _len; _i++) {
|
19988
|
+
entry = keypath[_i];
|
19989
|
+
collection[entry] || (collection[entry] = {});
|
19990
|
+
collection = collection[entry];
|
19991
|
+
}
|
19992
|
+
if (arguments.length === 1) {
|
19993
|
+
this.reads++;
|
19994
|
+
return collection[key];
|
19995
|
+
} else {
|
19996
|
+
this.writes++;
|
19997
|
+
value.sustained = true;
|
19998
|
+
return collection[key] = value;
|
19999
|
+
}
|
20000
|
+
},
|
20001
|
+
values: function() {
|
20002
|
+
return Object.values(this.database);
|
20003
|
+
}
|
20004
|
+
}, {
|
20005
|
+
type: 'object',
|
20006
|
+
writes: 0,
|
20007
|
+
reads: 0
|
20008
|
+
}, function() {
|
20009
|
+
this.database || (this.database = {});
|
20010
|
+
return this;
|
20011
|
+
});
|
20012
|
+
|
20013
|
+
model = window.model;
|
20014
|
+
|
20015
|
+
record = window.record;
|
20016
|
+
|
20017
|
+
model.storable = true;
|
20018
|
+
|
20019
|
+
module.exports = storable;
|
20020
|
+
|
20021
|
+
});
|
20022
|
+
require.register("indefinido-indemma/lib/record/queryable.js", function(exports, require, module){
|
20023
|
+
var extend, model, queryable, record, stampit, storable;
|
20024
|
+
|
20025
|
+
extend = require('assimilate');
|
20026
|
+
|
20027
|
+
storable = require('./storable');
|
20028
|
+
|
20029
|
+
stampit = require('../../vendor/stampit');
|
20030
|
+
|
20031
|
+
queryable = {
|
20032
|
+
storage: storable(),
|
20033
|
+
find: function(key) {
|
20034
|
+
return this.storage.store(key);
|
20035
|
+
},
|
20036
|
+
all: function() {
|
20037
|
+
return this.storage.values();
|
20038
|
+
},
|
20039
|
+
where: function() {
|
20040
|
+
throw new Error('queryable.where: Not implemented yet');
|
20041
|
+
}
|
20042
|
+
};
|
20043
|
+
|
20044
|
+
model = window.model;
|
20045
|
+
|
20046
|
+
record = window.record;
|
20047
|
+
|
20048
|
+
model.queryable = true;
|
20049
|
+
|
20050
|
+
module.exports = queryable;
|
20051
|
+
|
20052
|
+
model.mix(function(modelable) {
|
20053
|
+
return extend(modelable, queryable);
|
20054
|
+
});
|
20055
|
+
|
19592
20056
|
});
|
19593
20057
|
require.register("indefinido-indemma/lib/record/resource.js", function(exports, require, module){
|
19594
20058
|
var model, resource, resourceable, stampit;
|
19595
20059
|
|
19596
20060
|
stampit = require('../../vendor/stampit');
|
19597
20061
|
|
20062
|
+
require('../../vendor/owl/pluralize');
|
20063
|
+
|
19598
20064
|
resource = stampit({
|
19599
20065
|
toString: function() {
|
19600
20066
|
return this.name;
|
@@ -19617,12 +20083,12 @@ resource = stampit({
|
|
19617
20083
|
});
|
19618
20084
|
|
19619
20085
|
resourceable = {
|
19620
|
-
pluralize: function(word) {
|
20086
|
+
pluralize: function(word, count, plural) {
|
19621
20087
|
if (!(word && word.length)) {
|
19622
20088
|
throw new TypeError("Invalid string passed to pluralize '" + word + "'");
|
19623
20089
|
}
|
19624
20090
|
if (word.indexOf('s') !== word.length - 1) {
|
19625
|
-
return word
|
20091
|
+
return owl.pluralize(word, count, plural);
|
19626
20092
|
} else {
|
19627
20093
|
return word;
|
19628
20094
|
}
|
@@ -19666,7 +20132,9 @@ resourceable = {
|
|
19666
20132
|
},
|
19667
20133
|
parent_id: {
|
19668
20134
|
get: function() {
|
19669
|
-
|
20135
|
+
if (this[this.parent_resource]) {
|
20136
|
+
return this[this.parent_resource]._id;
|
20137
|
+
}
|
19670
20138
|
},
|
19671
20139
|
set: function() {
|
19672
20140
|
return console.error('Warning changing associations throught parent_id not allowed for security and style guide purposes');
|
@@ -19676,7 +20144,11 @@ resourceable = {
|
|
19676
20144
|
var resource_definition, _ref;
|
19677
20145
|
|
19678
20146
|
if (this.parent_resource) {
|
19679
|
-
Object.defineProperty(this, "" + this.parent_resource + "_id",
|
20147
|
+
Object.defineProperty(this, "" + this.parent_resource + "_id", {
|
20148
|
+
value: resourceable.parent_id,
|
20149
|
+
configurable: true,
|
20150
|
+
enumerable: true
|
20151
|
+
});
|
19680
20152
|
}
|
19681
20153
|
resource_definition = {};
|
19682
20154
|
if (typeof this.resource === 'string') {
|
@@ -19722,7 +20194,7 @@ module.exports = {
|
|
19722
20194
|
return request.call(this, 'post', this.route, data);
|
19723
20195
|
},
|
19724
20196
|
"delete": function(data) {
|
19725
|
-
return request.call(this, 'delete', this.route, data);
|
20197
|
+
return request.call(this, 'delete', (this._id ? "" + this.route + "/" + this._id : this.route), data);
|
19726
20198
|
}
|
19727
20199
|
};
|
19728
20200
|
|
@@ -19830,8 +20302,14 @@ restful = {
|
|
19830
20302
|
get: function(action, data) {
|
19831
20303
|
var old_route, payload, promise, resource, route;
|
19832
20304
|
|
20305
|
+
if (data == null) {
|
20306
|
+
data = {};
|
20307
|
+
}
|
19833
20308
|
old_route = this.route;
|
19834
|
-
this.route = "/" + (model.pluralize(this.resource.name))
|
20309
|
+
this.route = "/" + (model.pluralize(this.resource.name));
|
20310
|
+
if (action) {
|
20311
|
+
this.route += "/" + action;
|
20312
|
+
}
|
19835
20313
|
resource = data.resource;
|
19836
20314
|
if (data && data.json) {
|
19837
20315
|
data = data.json();
|
@@ -19845,20 +20323,24 @@ restful = {
|
|
19845
20323
|
route = old_route;
|
19846
20324
|
return promise;
|
19847
20325
|
},
|
19848
|
-
put: rest.put
|
20326
|
+
put: rest.put,
|
20327
|
+
"delete": rest["delete"]
|
19849
20328
|
},
|
19850
20329
|
record: {
|
19851
20330
|
reload: function() {
|
19852
|
-
var
|
20331
|
+
var data, param, params, promise, _i, _len;
|
19853
20332
|
|
19854
|
-
|
20333
|
+
params = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
20334
|
+
data = params.pop();
|
20335
|
+
if (type(data) !== 'object') {
|
20336
|
+
params.push(data);
|
20337
|
+
}
|
20338
|
+
promise = rest.get.call(this, data || {});
|
19855
20339
|
promise.done(this.assign_attributes);
|
19856
20340
|
promise.fail(this.failed);
|
19857
|
-
for (_i = 0, _len =
|
19858
|
-
|
19859
|
-
|
19860
|
-
promise.done(argument);
|
19861
|
-
}
|
20341
|
+
for (_i = 0, _len = params.length; _i < _len; _i++) {
|
20342
|
+
param = params[_i];
|
20343
|
+
promise.done(param);
|
19862
20344
|
}
|
19863
20345
|
return promise;
|
19864
20346
|
},
|
@@ -19902,13 +20384,16 @@ restful = {
|
|
19902
20384
|
association_name = _ref2[_l];
|
19903
20385
|
association_attributes = attributes[association_name];
|
19904
20386
|
delete attributes[association_name];
|
20387
|
+
delete attributes[association_name + "_attributes"];
|
19905
20388
|
if (association_attributes) {
|
19906
20389
|
this[association_name] = this["build_" + association_name](association_attributes);
|
19907
20390
|
}
|
19908
20391
|
}
|
19909
20392
|
_results = [];
|
19910
20393
|
for (attribute in attributes) {
|
19911
|
-
|
20394
|
+
if (attribute !== this[attribute]) {
|
20395
|
+
_results.push(this[attribute] = attributes[attribute]);
|
20396
|
+
}
|
19912
20397
|
}
|
19913
20398
|
return _results;
|
19914
20399
|
},
|
@@ -19972,7 +20457,7 @@ restful = {
|
|
19972
20457
|
}
|
19973
20458
|
},
|
19974
20459
|
failed: function(xhr, error, status) {
|
19975
|
-
var attribute_name, definition, e, message, messages, payload,
|
20460
|
+
var attribute_name, definition, e, message, messages, payload, _i, _len, _ref;
|
19976
20461
|
|
19977
20462
|
payload = xhr.responseJSON;
|
19978
20463
|
try {
|
@@ -19985,37 +20470,33 @@ restful = {
|
|
19985
20470
|
case 422:
|
19986
20471
|
definition = model[this.resource];
|
19987
20472
|
_ref = payload.errors;
|
19988
|
-
_results = [];
|
19989
20473
|
for (attribute_name in _ref) {
|
19990
20474
|
messages = _ref[attribute_name];
|
19991
|
-
if (!
|
20475
|
+
if (!definition.associations) {
|
20476
|
+
definition.associations = definition.has_one.concat(definition.has_many.concat(definition.belongs_to));
|
20477
|
+
}
|
20478
|
+
if (!(this.hasOwnProperty(attribute_name) || definition.hasOwnProperty(attribute_name) || definition.associations.indexOf(attribute_name) !== -1 || attribute_name === 'base')) {
|
19992
20479
|
message = "Server returned an validation error message for a attribute that is not defined in your model.\n";
|
19993
20480
|
message += "The attribute was '" + attribute_name + "', the model resource was '" + this.resource + "'.\n";
|
19994
20481
|
message += "The model definition keys were '" + (JSON.stringify(Object.keys(definition))) + "'.\n";
|
19995
20482
|
message += "Please remove server validation, or update your model definition.";
|
19996
20483
|
throw new TypeError(message);
|
19997
20484
|
}
|
19998
|
-
|
19999
|
-
|
20000
|
-
|
20001
|
-
|
20002
|
-
|
20003
|
-
|
20004
|
-
_results1.push(this.errors.add(attribute_name, 'server', {
|
20005
|
-
server_message: message
|
20006
|
-
}));
|
20007
|
-
}
|
20008
|
-
return _results1;
|
20009
|
-
}).call(this));
|
20485
|
+
for (_i = 0, _len = messages.length; _i < _len; _i++) {
|
20486
|
+
message = messages[_i];
|
20487
|
+
this.errors.add(attribute_name, 'server', {
|
20488
|
+
server_message: message
|
20489
|
+
});
|
20490
|
+
}
|
20010
20491
|
}
|
20011
|
-
return _results;
|
20012
20492
|
break;
|
20013
20493
|
default:
|
20014
20494
|
message = "Fail in " + this.resource + ".save:\n";
|
20015
20495
|
message += "Record: " + this + "\n";
|
20016
20496
|
message += "Status: " + status + " (" + (payload.status || xhr.status) + ")\n";
|
20017
|
-
|
20497
|
+
message += "Error : " + (payload.error || payload.message || payload);
|
20018
20498
|
}
|
20499
|
+
return this.saving = false;
|
20019
20500
|
},
|
20020
20501
|
toString: function() {
|
20021
20502
|
var serialized;
|
@@ -20061,10 +20542,12 @@ restful = {
|
|
20061
20542
|
delete json.route;
|
20062
20543
|
delete json.initial_route;
|
20063
20544
|
delete json.after_initialize;
|
20545
|
+
delete json.before_initialize;
|
20064
20546
|
delete json.parent_resource;
|
20065
20547
|
delete json.nested_attributes;
|
20066
20548
|
delete json.saving;
|
20067
20549
|
delete json.salvation;
|
20550
|
+
delete json.sustained;
|
20068
20551
|
delete json.element;
|
20069
20552
|
delete json["default"];
|
20070
20553
|
delete json.lock;
|
@@ -20141,7 +20624,7 @@ scopable = {
|
|
20141
20624
|
}
|
20142
20625
|
builder = builders[type];
|
20143
20626
|
if (builder == null) {
|
20144
|
-
throw "Unknown scope type " + type + "
|
20627
|
+
throw "Unknown scope type: '" + type + "', For model with resource: '" + this.resource + "'";
|
20145
20628
|
}
|
20146
20629
|
this.scope.declared.push(name);
|
20147
20630
|
return this[name] = builder({
|
@@ -20210,7 +20693,7 @@ scopable = {
|
|
20210
20693
|
forward_scopes_to_associations: function() {
|
20211
20694
|
var associated_factory, associated_resource, association, association_name, factory, forwarder, generate_forwarder, scope, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3, _ref4;
|
20212
20695
|
|
20213
|
-
factory = model[this.resource];
|
20696
|
+
factory = model[this.resource.name];
|
20214
20697
|
_ref = factory.has_many;
|
20215
20698
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
20216
20699
|
association_name = _ref[_i];
|
@@ -20290,6 +20773,19 @@ scopable = {
|
|
20290
20773
|
};
|
20291
20774
|
|
20292
20775
|
builders = {
|
20776
|
+
string: stampit().enclose(function() {
|
20777
|
+
var base;
|
20778
|
+
|
20779
|
+
base = scopable.base(this);
|
20780
|
+
return stampit.mixIn(function() {
|
20781
|
+
var callbacks, value, _base, _name;
|
20782
|
+
|
20783
|
+
value = arguments[0], callbacks = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
|
20784
|
+
callbacks.length && (this.scope.then = this.scope.then.concat(callbacks));
|
20785
|
+
(_base = this.scope.data)[_name = base.name] || (_base[_name] = value != null ? value : this["$" + base.name]);
|
20786
|
+
return this;
|
20787
|
+
});
|
20788
|
+
}),
|
20293
20789
|
boolean: stampit().enclose(function() {
|
20294
20790
|
var base;
|
20295
20791
|
|
@@ -20665,7 +21161,7 @@ cpfable = stampit({
|
|
20665
21161
|
if (d1 > 9) {
|
20666
21162
|
d1 = 0;
|
20667
21163
|
}
|
20668
|
-
if (+dv.charAt(0 !== d1)
|
21164
|
+
if (+dv.charAt(0) !== d1) {
|
20669
21165
|
return false;
|
20670
21166
|
}
|
20671
21167
|
d1 *= 2;
|
@@ -20729,8 +21225,12 @@ messages = {
|
|
20729
21225
|
return "O registro associado " + attribute_name + " não é válido.";
|
20730
21226
|
},
|
20731
21227
|
server: function(attribute_name, options) {
|
20732
|
-
attribute_name
|
20733
|
-
|
21228
|
+
if (attribute_name === 'base') {
|
21229
|
+
return options.server_message;
|
21230
|
+
} else {
|
21231
|
+
attribute_name = this.human_attribute_name(attribute_name);
|
21232
|
+
return "" + attribute_name + " " + options.server_message + ".";
|
21233
|
+
}
|
20734
21234
|
},
|
20735
21235
|
type: function(attribute_name, options) {
|
20736
21236
|
attribute_name = this.human_attribute_name(attribute_name);
|
@@ -20764,7 +21264,8 @@ errorsable = stampit({
|
|
20764
21264
|
}
|
20765
21265
|
},
|
20766
21266
|
push: Array.prototype.push,
|
20767
|
-
splice: Array.prototype.splice
|
21267
|
+
splice: Array.prototype.splice,
|
21268
|
+
indexOf: Array.prototype.indexOf
|
20768
21269
|
}, {
|
20769
21270
|
model: null,
|
20770
21271
|
messages: null,
|
@@ -20785,7 +21286,7 @@ initializers = {
|
|
20785
21286
|
}
|
20786
21287
|
});
|
20787
21288
|
this.validated = false;
|
20788
|
-
this.subscribe('dirty', function() {
|
21289
|
+
this.subscribe('dirty', function(value) {
|
20789
21290
|
return this.validated = false;
|
20790
21291
|
});
|
20791
21292
|
return Object.defineProperty(this, 'valid', {
|
@@ -20866,7 +21367,7 @@ extensions = {
|
|
20866
21367
|
validate: function(doned, failed) {
|
20867
21368
|
var results, validator, _i, _len, _ref;
|
20868
21369
|
|
20869
|
-
if (this.validated) {
|
21370
|
+
if (this.validated && !this.dirty) {
|
20870
21371
|
return this.validation;
|
20871
21372
|
}
|
20872
21373
|
this.errors.clear();
|
@@ -28764,7 +29265,7 @@ require.register("ened/vendor/assets/javascripts/lennon/lennon.js", function(exp
|
|
28764
29265
|
//-- Hashify internal links if history is not available
|
28765
29266
|
} else {
|
28766
29267
|
if ( !$this.data('lennonized') ) {
|
28767
|
-
$this.attr('href', '
|
29268
|
+
$this.attr('href', '/#!' + href).data('lennonized', true);
|
28768
29269
|
}
|
28769
29270
|
}
|
28770
29271
|
});
|
@@ -28825,15 +29326,15 @@ require.register("ened/vendor/assets/javascripts/lennon/lennon.js", function(exp
|
|
28825
29326
|
i, j,
|
28826
29327
|
paramKeys,
|
28827
29328
|
params,
|
28828
|
-
path = options.historyEnabled? window.location.pathname : window.location.hash.replace('
|
29329
|
+
path = options.historyEnabled? window.location.pathname : window.location.hash.replace('#!', '') || '/';
|
28829
29330
|
|
28830
29331
|
//-- If we land on the page with a hash value and history is enabled, redirect to the non-hash page
|
28831
|
-
if ( window.location.hash && options.historyEnabled ) {
|
28832
|
-
window.location.href = window.location.hash.replace('
|
29332
|
+
if ( window.location.hash.indexOf('#!') != -1 && options.historyEnabled ) {
|
29333
|
+
window.location.href = window.location.hash.replace('#!', '');
|
28833
29334
|
|
28834
29335
|
//-- If we land on the page with a path and history is disabled, redirect to the hash page
|
28835
29336
|
} else if ( '/' !== window.location.pathname && !options.historyEnabled ) {
|
28836
|
-
window.location.href = '
|
29337
|
+
window.location.href = '/#!' + window.location.pathname;
|
28837
29338
|
}
|
28838
29339
|
|
28839
29340
|
//-- Process the route
|
@@ -29463,8 +29964,12 @@ require.alias("components-modernizr/modernizr.js", "components-modernizr/index.j
|
|
29463
29964
|
require.alias("indefinido-indemma/index.js", "ened/deps/indemma/index.js");
|
29464
29965
|
require.alias("indefinido-indemma/vendor/stampit.js", "ened/deps/indemma/vendor/stampit.js");
|
29465
29966
|
require.alias("indefinido-indemma/vendor/sinon.js", "ened/deps/indemma/vendor/sinon.js");
|
29967
|
+
require.alias("indefinido-indemma/vendor/owl/pluralize.js", "ened/deps/indemma/vendor/owl/pluralize.js");
|
29466
29968
|
require.alias("indefinido-indemma/lib/record.js", "ened/deps/indemma/lib/record.js");
|
29467
29969
|
require.alias("indefinido-indemma/lib/record/associable.js", "ened/deps/indemma/lib/record/associable.js");
|
29970
|
+
require.alias("indefinido-indemma/lib/record/persistable.js", "ened/deps/indemma/lib/record/persistable.js");
|
29971
|
+
require.alias("indefinido-indemma/lib/record/storable.js", "ened/deps/indemma/lib/record/storable.js");
|
29972
|
+
require.alias("indefinido-indemma/lib/record/queryable.js", "ened/deps/indemma/lib/record/queryable.js");
|
29468
29973
|
require.alias("indefinido-indemma/lib/record/resource.js", "ened/deps/indemma/lib/record/resource.js");
|
29469
29974
|
require.alias("indefinido-indemma/lib/record/rest.js", "ened/deps/indemma/lib/record/rest.js");
|
29470
29975
|
require.alias("indefinido-indemma/lib/record/restfulable.js", "ened/deps/indemma/lib/record/restfulable.js");
|