=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== libjs-angular-schema-form-0.8.13/CHANGELOG-25- * New global option `pristine`. Sets if errors and success states libjs-angular-schema-form-0.8.13/CHANGELOG:26: should be visible when form field are `$pristine`. Default is `{errors: true, success: true}` libjs-angular-schema-form-0.8.13/CHANGELOG-27- ############################################## libjs-angular-schema-form-0.8.13/dist/bootstrap-decorator.min.js:1:!function(e,t){"function"==typeof define&&define.amd?define(["schemaForm"],t):"object"==typeof exports?module.exports=t(require("schemaForm")):e.bootstrapDecorator=t(e.schemaForm)}(this,function(e){return angular.module("schemaForm").run(["$templateCache",function(e){e.put("directives/decorators/bootstrap/actions-trcl.html",'<div class="btn-group schema-form-actions {{form.htmlClass}}" ng-transclude=""></div>'),e.put("directives/decorators/bootstrap/actions.html",'<div class="btn-group schema-form-actions {{form.htmlClass}}"><input ng-repeat-start="item in form.items" type="submit" class="btn {{ item.style || \'btn-default\' }} {{form.fieldHtmlClass}}" value="{{item.title}}" ng-if="item.type === \'submit\'"> <button ng-repeat-end="" class="btn {{ item.style || \'btn-default\' }} {{form.fieldHtmlClass}}" type="button" ng-disabled="form.readonly" ng-if="item.type !== \'submit\'" ng-click="buttonClick($event,item)"><span ng-if="item.icon" class="{{item.icon}}"></span>{{item.title}}</button></div>'),e.put("directives/decorators/bootstrap/array.html",'<div sf-array="form" class="schema-form-array {{form.htmlClass}}" ng-model="$$value$$" ng-model-options="form.ngModelOptions"><label class="control-label" ng-show="showTitle()">{{ form.title }}</label><ol class="list-group" ng-model="modelArray" ui-sortable=""><li class="list-group-item {{form.fieldHtmlClass}}" ng-repeat="item in modelArray track by $index"><button ng-hide="form.readonly || form.remove === null" ng-click="deleteFromArray($index)" style="position: relative; z-index: 20;" type="button" class="close pull-right"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button><sf-decorator ng-init="arrayIndex = $index" form="copyWithIndex($index)"></sf-decorator></li></ol><div class="clearfix" style="padding: 15px;"><button ng-hide="form.readonly || form.add === null" ng-click="appendToArray()" type="button" class="btn {{ form.style.add || \'btn-default\' }} pull-right"><i class="glyphicon glyphicon-plus"></i> {{ form.add || \'Add\'}}</button></div><div class="help-block" ng-show="(hasError() && errorMessage(schemaError())) || form.description" ng-bind-html="(hasError() && errorMessage(schemaError())) || form.description"></div></div>'),e.put("directives/decorators/bootstrap/checkbox.html",'<div class="checkbox schema-form-checkbox {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label class="{{form.labelHtmlClass}}"><input type="checkbox" sf-changed="form" ng-disabled="form.readonly" ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" class="{{form.fieldHtmlClass}}" name="{{form.key.slice(-1)[0]}}"> <span ng-bind-html="form.title"></span></label><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/checkboxes.html",'<div sf-array="form" ng-model="$$value$$" class="form-group schema-form-checkboxes {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label><div class="checkbox" ng-repeat="val in titleMapValues track by $index"><label><input type="checkbox" ng-disabled="form.readonly" sf-changed="form" class="{{form.fieldHtmlClass}}" ng-model="titleMapValues[$index]" name="{{form.key.slice(-1)[0]}}"> <span ng-bind-html="form.titleMap[$index].name"></span></label></div><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/default.html",'<div class="form-group schema-form-{{form.type}} {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess(), \'has-feedback\': form.feedback !== false }"><label class="control-label {{form.labelHtmlClass}}" ng-class="{\'sr-only\': !showTitle()}" for="{{form.key.slice(-1)[0]}}">{{form.title}}</label> <input ng-if="!form.fieldAddonLeft && !form.fieldAddonRight" ng-show="form.key" type="{{form.type}}" step="any" sf-changed="form" placeholder="{{form.placeholder}}" class="form-control {{form.fieldHtmlClass}}" id="{{form.key.slice(-1)[0]}}" ng-model-options="form.ngModelOptions" ng-model="$$value$$" ng-disabled="form.readonly" schema-validate="form" name="{{form.key.slice(-1)[0]}}" aria-describedby="{{form.key.slice(-1)[0] + \'Status\'}}"><div ng-if="form.fieldAddonLeft || form.fieldAddonRight" ng-class="{\'input-group\': (form.fieldAddonLeft || form.fieldAddonRight)}"><span ng-if="form.fieldAddonLeft" class="input-group-addon" ng-bind-html="form.fieldAddonLeft"></span> <input ng-show="form.key" type="{{form.type}}" step="any" sf-changed="form" placeholder="{{form.placeholder}}" class="form-control {{form.fieldHtmlClass}}" id="{{form.key.slice(-1)[0]}}" ng-model-options="form.ngModelOptions" ng-model="$$value$$" ng-disabled="form.readonly" schema-validate="form" name="{{form.key.slice(-1)[0]}}" aria-describedby="{{form.key.slice(-1)[0] + \'Status\'}}"> <span ng-if="form.fieldAddonRight" class="input-group-addon" ng-bind-html="form.fieldAddonRight"></span></div><span ng-if="form.feedback !== false" class="form-control-feedback" ng-class="evalInScope(form.feedback) || {\'glyphicon\': true, \'glyphicon-ok\': hasSuccess(), \'glyphicon-remove\': hasError() }" aria-hidden="true"></span> <span ng-if="hasError() || hasSuccess()" id="{{form.key.slice(-1)[0] + \'Status\'}}" class="sr-only">{{ hasSuccess() ? \'(success)\' : \'(error)\' }}</span><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/fieldset-trcl.html",'<fieldset ng-disabled="form.readonly" class="schema-form-fieldset {{form.htmlClass}}"><legend ng-class="{\'sr-only\': !showTitle() }">{{ form.title }}</legend><div class="help-block" ng-show="form.description" ng-bind-html="form.description"></div><div ng-transclude=""></div></fieldset>'),e.put("directives/decorators/bootstrap/fieldset.html",'<fieldset ng-disabled="form.readonly" class="schema-form-fieldset {{form.htmlClass}}"><legend ng-class="{\'sr-only\': !showTitle() }">{{ form.title }}</legend><div class="help-block" ng-show="form.description" ng-bind-html="form.description"></div><sf-decorator ng-repeat="item in form.items" form="item"></sf-decorator></fieldset>'),e.put("directives/decorators/bootstrap/help.html",'<div class="helpvalue schema-form-helpvalue {{form.htmlClass}}" ng-bind-html="form.helpvalue"></div>'),e.put("directives/decorators/bootstrap/radio-buttons.html",'<div class="form-group schema-form-radiobuttons {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><div><label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label></div><div class="btn-group"><label class="btn {{ (item.value === $$value$$) ? form.style.selected || \'btn-default\' : form.style.unselected || \'btn-default\'; }}" ng-class="{ active: item.value === $$value$$ }" ng-repeat="item in form.titleMap"><input type="radio" class="{{form.fieldHtmlClass}}" sf-changed="form" style="display: none;" ng-disabled="form.readonly" ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" ng-value="item.value" name="{{form.key.join(\'.\')}}"> <span ng-bind-html="item.name"></span></label></div><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/radios-inline.html",'<div class="form-group schema-form-radios-inline {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label><div><label class="radio-inline" ng-repeat="item in form.titleMap"><input type="radio" class="{{form.fieldHtmlClass}}" sf-changed="form" ng-disabled="form.readonly" ng-model="$$value$$" ng-value="item.value" name="{{form.key.join(\'.\')}}"> <span ng-bind-html="item.name"></span></label></div><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/radios.html",'<div class="form-group schema-form-radios {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label><div class="radio" ng-repeat="item in form.titleMap"><label><input type="radio" class="{{form.fieldHtmlClass}}" sf-changed="form" ng-disabled="form.readonly" ng-model="$$value$$" ng-value="item.value" name="{{form.key.join(\'.\')}}"> <span ng-bind-html="item.name"></span></label></div><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/section.html",'<div class="schema-form-section {{form.htmlClass}}"><sf-decorator ng-repeat="item in form.items" form="item"></sf-decorator></div>'),e.put("directives/decorators/bootstrap/select.html",'<div class="form-group {{form.htmlClass}} schema-form-select" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess(), \'has-feedback\': form.feedback !== false}"><label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label><select ng-model="$$value$$" ng-model-options="form.ngModelOptions" ng-disabled="form.readonly" sf-changed="form" class="form-control {{form.fieldHtmlClass}}" schema-validate="form" ng-options="item.value as item.name group by item.group for item in form.titleMap" name="{{form.key.slice(-1)[0]}}"></select><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/submit.html",'<div class="form-group schema-form-submit {{form.htmlClass}}"><input type="submit" class="btn {{ form.style || \'btn-primary\' }} {{form.fieldHtmlClass}}" value="{{form.title}}" ng-disabled="form.readonly" ng-if="form.type === \'submit\'"> <button class="btn {{ form.style || \'btn-default\' }}" type="button" ng-click="buttonClick($event,form)" ng-disabled="form.readonly" ng-if="form.type !== \'submit\'"><span ng-if="form.icon" class="{{form.icon}}"></span> {{form.title}}</button></div>'),e.put("directives/decorators/bootstrap/tabarray.html",'<div sf-array="form" ng-init="selected = { tab: 0 }" class="clearfix schema-form-tabarray schema-form-tabarray-{{form.tabType || \'left\'}} {{form.htmlClass}}"><div ng-if="!form.tabType || form.tabType !== \'right\'" ng-class="{\'col-xs-3\': !form.tabType || form.tabType === \'left\'}"><ul class="nav nav-tabs" ng-class="{ \'tabs-left\': !form.tabType || form.tabType === \'left\'}"><li ng-repeat="item in modelArray track by $index" ng-click="$event.preventDefault() || (selected.tab = $index)" ng-class="{active: selected.tab === $index}"><a href="#">{{interp(form.title,{\'$index\':$index, value: item}) || $index}}</a></li><li ng-hide="form.readonly" ng-click="$event.preventDefault() || (selected.tab = appendToArray().length - 1)"><a href="#"><i class="glyphicon glyphicon-plus"></i> {{ form.add || \'Add\'}}</a></li></ul></div><div ng-class="{\'col-xs-9\': !form.tabType || form.tabType === \'left\' || form.tabType === \'right\'}"><div class="tab-content {{form.fieldHtmlClass}}"><div class="tab-pane clearfix" ng-repeat="item in modelArray track by $index" ng-show="selected.tab === $index" ng-class="{active: selected.tab === $index}"><sf-decorator ng-init="arrayIndex = $index" form="copyWithIndex($index)"></sf-decorator><button ng-hide="form.readonly" ng-click="selected.tab = deleteFromArray($index).length - 1" type="button" class="btn {{ form.style.remove || \'btn-default\' }} pull-right"><i class="glyphicon glyphicon-trash"></i> {{ form.remove || \'Remove\'}}</button></div></div></div><div ng-if="form.tabType === \'right\'" class="col-xs-3"><ul class="nav nav-tabs tabs-right"><li ng-repeat="item in modelArray track by $index" ng-click="$event.preventDefault() || (selected.tab = $index)" ng-class="{active: selected.tab === $index}"><a href="#">{{interp(form.title,{\'$index\':$index, value: item}) || $index}}</a></li><li ng-hide="form.readonly" ng-click="$event.preventDefault() || appendToArray()"><a href="#"><i class="glyphicon glyphicon-plus"></i> {{ form.add || \'Add\'}}</a></li></ul></div></div>'),e.put("directives/decorators/bootstrap/tabs.html",'<div ng-init="selected = { tab: 0 }" class="schema-form-tabs {{form.htmlClass}}"><ul class="nav nav-tabs"><li ng-repeat="tab in form.tabs" ng-disabled="form.readonly" ng-click="$event.preventDefault() || (selected.tab = $index)" ng-class="{active: selected.tab === $index}"><a href="#">{{ tab.title }}</a></li></ul><div class="tab-content {{form.fieldHtmlClass}}"><div class="tab-pane" ng-disabled="form.readonly" ng-repeat="tab in form.tabs" ng-show="selected.tab === $index" ng-class="{active: selected.tab === $index}"><bootstrap-decorator ng-repeat="item in tab.items" form="item"></bootstrap-decorator></div></div></div>'),e.put("directives/decorators/bootstrap/textarea.html",'<div class="form-group has-feedback {{form.htmlClass}} schema-form-textarea" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label class="{{form.labelHtmlClass}}" ng-class="{\'sr-only\': !showTitle()}" for="{{form.key.slice(-1)[0]}}">{{form.title}}</label> <textarea ng-if="!form.fieldAddonLeft && !form.fieldAddonRight" class="form-control {{form.fieldHtmlClass}}" id="{{form.key.slice(-1)[0]}}" sf-changed="form" placeholder="{{form.placeholder}}" ng-disabled="form.readonly" ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" name="{{form.key.slice(-1)[0]}}"></textarea><div ng-if="form.fieldAddonLeft || form.fieldAddonRight" ng-class="{\'input-group\': (form.fieldAddonLeft || form.fieldAddonRight)}"><span ng-if="form.fieldAddonLeft" class="input-group-addon" ng-bind-html="form.fieldAddonLeft"></span> <textarea class="form-control {{form.fieldHtmlClass}}" id="{{form.key.slice(-1)[0]}}" sf-changed="form" placeholder="{{form.placeholder}}" ng-disabled="form.readonly" ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" name="{{form.key.slice(-1)[0]}}"></textarea> <span ng-if="form.fieldAddonRight" class="input-group-addon" ng-bind-html="form.fieldAddonRight"></span></div><span class="help-block" sf-message="form.description"></span></div>')}]),angular.module("schemaForm").config(["schemaFormDecoratorsProvider",function(e){var t="directives/decorators/bootstrap/";e.defineDecorator("bootstrapDecorator",{textarea:{template:t+"textarea.html",replace:!1},fieldset:{template:t+"fieldset.html",replace:!1},array:{template:t+"array.html",replace:!1},tabarray:{template:t+"tabarray.html",replace:!1},tabs:{template:t+"tabs.html",replace:!1},section:{template:t+"section.html",replace:!1},conditional:{template:t+"section.html",replace:!1},actions:{template:t+"actions.html",replace:!1},select:{template:t+"select.html",replace:!1},checkbox:{template:t+"checkbox.html",replace:!1},checkboxes:{template:t+"checkboxes.html",replace:!1},number:{template:t+"default.html",replace:!1},password:{template:t+"default.html",replace:!1},submit:{template:t+"submit.html",replace:!1},button:{template:t+"submit.html",replace:!1},radios:{template:t+"radios.html",replace:!1},"radios-inline":{template:t+"radios-inline.html",replace:!1},radiobuttons:{template:t+"radio-buttons.html",replace:!1},help:{template:t+"help.html",replace:!1},"default":{template:t+"default.html",replace:!1}},[]),e.createDirectives({textarea:t+"textarea.html",select:t+"select.html",checkbox:t+"checkbox.html",checkboxes:t+"checkboxes.html",number:t+"default.html",submit:t+"submit.html",button:t+"submit.html",text:t+"default.html",date:t+"default.html",password:t+"default.html",datepicker:t+"datepicker.html",input:t+"default.html",radios:t+"radios.html","radios-inline":t+"radios-inline.html",radiobuttons:t+"radio-buttons.html"})}]).directive("sfFieldset",function(){return{transclude:!0,scope:!0,templateUrl:"directives/decorators/bootstrap/fieldset-trcl.html",link:function(e,t,s){e.title=e.$eval(s.title)}}}),e}); ############################################## libjs-angular-schema-form-0.8.13/dist/schema-form.js-434- } else { libjs-angular-schema-form-0.8.13/dist/schema-form.js:435: scope.$eval(form.onClick, {'$event': $event, form: form}); libjs-angular-schema-form-0.8.13/dist/schema-form.js-436- } ############################################## libjs-angular-schema-form-0.8.13/dist/schema-form.js-760- `template` should be the key of the template to load and it should be pre-loaded libjs-angular-schema-form-0.8.13/dist/schema-form.js:761: in `$templateCache`. libjs-angular-schema-form-0.8.13/dist/schema-form.js-762- ############################################## libjs-angular-schema-form-0.8.13/dist/schema-form.js-1981- } else { libjs-angular-schema-form-0.8.13/dist/schema-form.js:1982: scope.$eval(form.onClick, {'$event': $event, form: form}); libjs-angular-schema-form-0.8.13/dist/schema-form.js-1983- } ############################################## libjs-angular-schema-form-0.8.13/dist/schema-form.min.js:1:!function(e,t){"function"==typeof define&&define.amd?define(["angular","objectpath","tv4"],t):"object"==typeof exports?module.exports=t(require("angular"),require("objectpath"),require("tv4")):e.schemaForm=t(e.angular,e.objectpath,e.tv4)}(this,function(e,t,r){var n=[];try{e.module("ngSanitize"),n.push("ngSanitize")}catch(i){}try{e.module("ui.sortable"),n.push("ui.sortable")}catch(i){}try{e.module("angularSpectrumColorpicker"),n.push("angularSpectrumColorpicker")}catch(i){}var o=e.module("schemaForm",n);return e.module("schemaForm").provider("sfPath",[function(){var r=window.ObjectPath||t,n={parse:r.parse};1===e.version.major&&e.version.minor<3?n.stringify=function(e){return Array.isArray(e)?e.join("."):e.toString()}:n.stringify=r.stringify,n.normalize=function(e,t){return n.stringify(Array.isArray(e)?e:n.parse(e),t)},this.parse=n.parse,this.stringify=n.stringify,this.normalize=n.normalize,this.$get=function(){return n}}]),e.module("schemaForm").provider("sfBuilder",["sfPathProvider",function(t){var r=/[A-Z]/g,n=function(e,t){return t=t||"_",e.replace(r,function(e,r){return(r?t:"")+e.toLowerCase()})},i=0,o={sfField:function(e){e.fieldFrag.firstChild.setAttribute("sf-field",i),e.lookup["f"+i]=e.form,i++},ngModel:function(e){if(e.form.key){var r=e.form.key;e.state.keyRedaction&&(r=r.slice(e.state.keyRedaction));var n;if(e.state.modelValue)n=e.state.modelValue;else{var i=t.stringify(r).replace(/"/g,""");n=e.state.modelName||"model",i&&(n+=("["!==i[0]?".":"")+i)}for(var o=e.fieldFrag.querySelectorAll("[sf-field-model]"),a=0;a<o.length;a++){var l=o[a],s=l.getAttribute("sf-field-model");if(s&&""!==s)if("replaceAll"===s)for(var u=l.attributes,c=0;c<u.length;c++)u[c].value&&-1!==u[c].value.indexOf("$$value")&&(u[c].value=u[c].value.replace(/\$\$value\$\$/g,n));else{var f=l.getAttribute(s);f&&f.indexOf("$$value$$")?l.setAttribute(s,f.replace(/\$\$value\$\$/g,n)):l.setAttribute(s,n)}else l.setAttribute("ng-model",n)}}},simpleTransclusion:function(e){var t=e.build(e.form.items,e.path+".items",e.state);e.fieldFrag.firstChild.appendChild(t)},ngModelOptions:function(e){e.form.ngModelOptions&&Object.keys(e.form.ngModelOptions).length>0&&e.fieldFrag.firstChild.setAttribute("ng-model-options",JSON.stringify(e.form.ngModelOptions))},transclusion:function(e){var t=e.fieldFrag.querySelectorAll("[sf-field-transclude]");if(t.length)for(var r=0;r<t.length;r++){var n=t[r],i=n.getAttribute("sf-field-transclude")||"items",o=e.form[i];if(o){var a=e.build(o,e.path+"."+i,e.state);n.appendChild(a)}}},condition:function(e){if(e.form.condition){var r="evalExpr("+e.path+'.condition, { model: model, "arrayIndex": $index})';if(e.form.key){var n=t.stringify(e.form.key);r="evalExpr("+e.path+'.condition,{ model: model, "arrayIndex": $index, "modelValue": model'+("["===n[0]?"":".")+n+"})"}for(var i=e.fieldFrag.children||e.fieldFrag.childNodes,o=0;o<i.length;o++){var a=i[o],l=a.getAttribute("ng-if");a.setAttribute("ng-if",l?"("+l+") || ("+r+")":r)}}},array:function(r){var n=r.fieldFrag.querySelector("[schema-form-array-items]");if(n){if(state=e.copy(r.state),state.keyRedaction=state.keyRedaction||0,state.keyRedaction+=r.form.key.length+1,r.form.schema&&r.form.schema.items&&r.form.schema.items.type&&-1===r.form.schema.items.type.indexOf("object")&&-1===r.form.schema.items.type.indexOf("array")){t.stringify(r.form.key).replace(/"/g,""")+"[$index]";state.modelValue="modelArray[$index]"}else state.modelName="item";state.arrayCompatFlag=!0;var i=r.build(r.form.items,r.path+".items",state);n.appendChild(i)}}};this.builders=o;var a=[o.sfField,o.ngModel,o.ngModelOptions,o.condition];this.stdBuilders=a,this.$get=["$templateCache","schemaFormDecorators","sfPath",function(e,t,r){var i=function(e,t){if(e.key){var n=t[r.stringify(e.key)];if(n){for(;n.firstChild;)n.removeChild(n.firstChild);return n}}},l=function(e,t,r,o,a,s,u){s=s||{},u=u||Object.create(null),a=a||"schemaForm.form";var c=document.createDocumentFragment();return e.reduce(function(e,c,f){if(!c.type)return e;var d=t[c.type]||t["default"];if(d.replace){var m;s.arrayCompatFlag=!1;var p=document.createElement("div"),h=r(c,d)||r(c,t["default"]);for(p.innerHTML=h,m=document.createDocumentFragment();p.childNodes.length>0;)m.appendChild(p.childNodes[0]);var v={fieldFrag:m,form:c,lookup:u,state:s,path:a+"["+f+"]",build:function(e,n,i){return l(e,t,r,o,n,i,u)}},y=c.builder||d.builder;"function"==typeof y?y(v):y.forEach(function(e){e(v)}),(i(c,o)||e).appendChild(m)}else{var g=document.createElement(n(t.__name,"-"));s.arrayCompatFlag?g.setAttribute("form","copyWithIndex($index)"):g.setAttribute("form",a+"["+f+"]"),(i(c,o)||e).appendChild(g)}return e},c),c};return{build:function(t,r,n,i){return l(t,r,function(t,r){return"template"===t.type?t.template:e.get(r.template)},n,void 0,void 0,i)},builder:o,stdBuilders:a,internalBuild:l}}]}]),e.module("schemaForm").provider("schemaFormDecorators",["$compileProvider","sfPathProvider",function(t,r){var n="",i={},o=function(e,t){"sfDecorator"===e&&(e=n);var r=i[e];return r[t.type]?r[t.type].template:r["default"].template},a=function(n){t.directive(n,["$parse","$compile","$http","$templateCache","$interpolate","$q","sfErrorMessage","sfPath","sfSelect",function(t,i,a,l,s,u,c,f,d){return{restrict:"AE",replace:!1,transclude:!1,scope:!0,require:"?^sfSchema",link:function(t,m,p,h){t.$on("schemaFormPropagateNgModelController",function(e,r){e.stopPropagation(),e.preventDefault(),t.ngModel=r}),t.showTitle=function(){return t.form&&t.form.notitle!==!0&&t.form.title},t.listToCheckboxValues=function(t){var r={};return e.forEach(t,function(e){r[e]=!0}),r},t.checkboxValuesToList=function(t){var r=[];return e.forEach(t,function(e,t){e&&r.push(t)}),r},t.buttonClick=function(r,n){e.isFunction(n.onClick)?n.onClick(r,n):e.isString(n.onClick)&&(h?h.evalInParentScope(n.onClick,{$event:r,form:n}):t.$eval(n.onClick,{$event:r,form:n}))},t.evalExpr=function(e,r){return h?h.evalInParentScope(e,r):t.$eval(e,r)},t.evalInScope=function(e,r){return e?t.$eval(e,r):void 0},t.interp=function(e,t){return e&&s(e)(t)},t.hasSuccess=function(){return t.ngModel?t.ngModel.$valid&&(!t.ngModel.$pristine||!t.ngModel.$isEmpty(t.ngModel.$modelValue)):!1},t.hasError=function(){return t.ngModel?t.ngModel.$invalid&&!t.ngModel.$pristine:!1},t.errorMessage=function(e){return c.interpolate(e&&e.code+""||"default",t.ngModel&&t.ngModel.$modelValue||"",t.ngModel&&t.ngModel.$viewValue||"",t.form,t.options&&t.options.validationMessage)};var v=t.$watch(p.form,function(s){if(s){s.ngModelOptions=s.ngModelOptions||{},t.form=s;var c;if("template"===s.type&&s.template)c=u.when(s.template);else{var p="template"===s.type?s.templateUrl:o(n,s);c=a.get(p,{cache:l}).then(function(e){return e.data})}c.then(function(n){if(s.key){var o=s.key?r.stringify(s.key).replace(/"/g,"""):"";n=n.replace(/\$\$value\$\$/g,"model"+("["!==o[0]?".":"")+o)}if(m.html(n),s.condition){var a='evalExpr(form.condition,{ model: model, "arrayIndex": arrayIndex})';s.key&&(a='evalExpr(form.condition,{ model: model, "arrayIndex": arrayIndex, "modelValue": model'+f.stringify(s.key)+"})"),e.forEach(m.children(),function(e){var t=e.getAttribute("ng-if");e.setAttribute("ng-if",t?"("+t+") || ("+a+")":a)})}i(m.contents())(t)}),s.key&&(t.$on("schemaForm.error."+s.key.join("."),function(e,r,n,i){(n===!0||n===!1)&&(i=n,n=void 0),t.ngModel&&r&&(t.ngModel.$setDirty?t.ngModel.$setDirty():(t.ngModel.$dirty=!0,t.ngModel.$pristine=!1),n&&(s.validationMessage||(s.validationMessage={}),s.validationMessage[r]=n),t.ngModel.$setValidity(r,i===!0),i===!0&&(t.ngModel.$validate(),t.$broadcast("schemaFormValidate")))}),t.$on("$destroy",function(){if(!t.externalDestructionInProgress){var e=s.destroyStrategy||t.options&&t.options.destroyStrategy||"remove";if(s.key&&"retain"!==e){var r=t.model;if(s.key.length>1&&(r=d(s.key.slice(0,s.key.length-1),r)),void 0===r)return;var n=s.schema&&s.schema.type||"";"empty"===e&&-1!==n.indexOf("string")?r[s.key.slice(-1)]="":"empty"===e&&-1!==n.indexOf("object")?r[s.key.slice(-1)]={}:"empty"===e&&-1!==n.indexOf("array")?r[s.key.slice(-1)]=[]:"null"===e?r[s.key.slice(-1)]=null:delete r[s.key.slice(-1)]}}})),v()}})}}}])},l=function(r,n,i){i=e.isDefined(i)?i:!1,t.directive("sf"+e.uppercase(r[0])+r.substr(1),function(){return{restrict:"EAC",scope:!0,replace:!0,transclude:i,template:'<sf-decorator form="form"></sf-decorator>',link:function(t,n,i){var o={items:"c",titleMap:"c",schema:"c"},a={type:r},l=!0;e.forEach(i,function(r,n){if("$"!==n[0]&&0!==n.indexOf("ng")&&"sfField"!==n){var s=function(r){e.isDefined(r)&&r!==a[n]&&(a[n]=r,l&&a.type&&(a.key||e.isUndefined(i.key))&&(t.form=a,l=!1))};"model"===n?t.$watch(r,function(e){e&&t.model!==e&&(t.model=e)}):"c"===o[n]?t.$watchCollection(r,s):i.$observe(n,s)}})}}})};this.createDecorator=function(t,r){i[t]={__name:t},e.forEach(r,function(e,r){i[t][r]={template:e,replace:!1,builder:[]}}),i[n]||(n=t),a(t)},this.defineDecorator=function(t,r){i[t]={__name:t},e.forEach(r,function(r,n){r.builder=r.builder||[],r.replace=e.isDefined(r.replace)?r.replace:!0,i[t][n]=r}),i[n]||(n=t),a(t)},this.createDirective=l,this.createDirectives=function(t){e.forEach(t,function(e,t){l(t,e)})},this.decorator=function(e){return e=e||n,i[e]},this.addMapping=function(e,t,r,n,o){i[e]&&(i[e][t]={template:r,builder:n,replace:!!o})},this.defineAddOn=function(e,t,r,n){i[e]&&(i[e][t]={template:r,builder:n,replace:!0})},this.$get=function(){return{decorator:function(e){return i[e]||i[n]},defaultDecorator:n}},a("sfDecorator")}]),e.module("schemaForm").provider("sfErrorMessage",function(){var t={"default":"Field does not validate",0:"Invalid type, expected {{schema.type}}",1:"No enum match for: {{viewValue}}",10:'Data does not match any schemas from "anyOf"',11:'Data does not match any schemas from "oneOf"',12:'Data is valid against more than one schema from "oneOf"',13:'Data matches schema from "not"',100:"Value is not a multiple of {{schema.multipleOf}}",101:"{{viewValue}} is less than the allowed minimum of {{schema.minimum}}",102:"{{viewValue}} is equal to the exclusive minimum {{schema.minimum}}",103:"{{viewValue}} is greater than the allowed maximum of {{schema.maximum}}",104:"{{viewValue}} is equal to the exclusive maximum {{schema.maximum}}",105:"Value is not a valid number",200:"String is too short ({{viewValue.length}} chars), minimum {{schema.minLength}}",201:"String is too long ({{viewValue.length}} chars), maximum {{schema.maxLength}}",202:"String does not match pattern: {{schema.pattern}}",300:"Too few properties defined, minimum {{schema.minProperties}}",301:"Too many properties defined, maximum {{schema.maxProperties}}",302:"Required",303:"Additional properties not allowed",304:"Dependency failed - key must exist",400:"Array is too short ({{value.length}}), minimum {{schema.minItems}}",401:"Array is too long ({{value.length}}), maximum {{schema.maxItems}}",402:"Array items are not unique",403:"Additional items not allowed",500:"Format validation failed",501:'Keyword failed: "{{title}}"',600:"Circular $refs",1e3:"Unknown property (not in schema)"};t.number=t[105],t.required=t[302],t.min=t[101],t.max=t[103],t.maxlength=t[201],t.minlength=t[200],t.pattern=t[202],this.setDefaultMessages=function(e){t=e},this.getDefaultMessages=function(){return t},this.setDefaultMessage=function(e,r){t[e]=r},this.$get=["$interpolate",function(r){var n={};return n.defaultMessages=t,n.interpolate=function(n,i,o,a,l){l=l||{};var s=a.validationMessage||{};0===n.indexOf("tv4-")&&(n=n.substring(4));var u=s["default"]||l["default"]||"";[s,l,t].some(function(t){return e.isString(t)||e.isFunction(t)?(u=t,!0):t&&t[n]?(u=t[n],!0):void 0});var c={error:n,value:i,viewValue:o,form:a,schema:a.schema,title:a.title||a.schema&&a.schema.title};return e.isFunction(u)?u(c):r(u)(c)},n}]}),e.module("schemaForm").provider("schemaForm",["sfPathProvider",function(t){var r=function(e){if(Array.isArray(e)&&2==e.length){if("null"===e[0])return e[1];if("null"===e[1])return e[0]}return e},n=function(e){var t=[];return e.forEach(function(e){t.push({name:e,value:e})}),t},i=function(t,r){if(!e.isArray(t)){var n=[];return r?e.forEach(r,function(e,r){n.push({name:t[e],value:e})}):e.forEach(t,function(e,t){n.push({name:e,value:t})}),n}return t},o=function(t,n,i){var o=h[r(n.type)];if(o)for(var a,l=0;l<o.length;l++)if(a=o[l](t,n,i))return a.schema["x-schema-form"]&&e.isObject(a.schema["x-schema-form"])&&(a=e.extend(a,a.schema["x-schema-form"])),a},a=function(t,r,n){n=n||{};var o=n.global&&n.global.formDefaults?e.copy(n.global.formDefaults):{};return n.global&&n.global.supressPropertyTitles===!0?o.title=r.title:o.title=r.title||t,r.description&&(o.description=r.description),(n.required===!0||r.required===!0)&&(o.required=!0),r.maxLength&&(o.maxlength=r.maxLength),r.minLength&&(o.minlength=r.minLength),(r.readOnly||r.readonly)&&(o.readonly=!0),r.minimum&&(o.minimum=r.minimum+(r.exclusiveMinimum?1:0)),r.maximum&&(o.maximum=r.maximum-(r.exclusiveMaximum?1:0)),r.validationMessage&&(o.validationMessage=r.validationMessage),r.enumNames&&(o.titleMap=i(r.enumNames,r["enum"])),o.schema=r,o.ngModelOptions=o.ngModelOptions||{},o},l=function(e,n,i){if("string"===r(n.type)&&!n["enum"]){var o=a(e,n,i);return o.key=i.path,o.type="text",i.lookup[t.stringify(i.path)]=o,o}},s=function(e,n,i){if("number"===r(n.type)){var o=a(e,n,i);return o.key=i.path,o.type="number",i.lookup[t.stringify(i.path)]=o,o}},u=function(e,n,i){if("integer"===r(n.type)){var o=a(e,n,i);return o.key=i.path,o.type="number",i.lookup[t.stringify(i.path)]=o,o}},c=function(e,n,i){if("boolean"===r(n.type)){var o=a(e,n,i);return o.key=i.path,o.type="checkbox",i.lookup[t.stringify(i.path)]=o,o}},f=function(e,i,o){if("string"===r(i.type)&&i["enum"]){var l=a(e,i,o);return l.key=o.path,l.type="select",l.titleMap||(l.titleMap=n(i["enum"])),o.lookup[t.stringify(o.path)]=l,l}},d=function(e,i,o){if("array"===r(i.type)&&i.items&&i.items["enum"]){var l=a(e,i,o);return l.key=o.path,l.type="checkboxes",l.titleMap||(l.titleMap=n(i.items["enum"])),o.lookup[t.stringify(o.path)]=l,l}},m=function(n,i,l){if("object"===r(i.type)){var s=a(n,i,l);return s.type="fieldset",s.items=[],l.lookup[t.stringify(l.path)]=s,e.forEach(i.properties,function(e,r){var n=l.path.slice();if(n.push(r),l.ignore[t.stringify(n)]!==!0){var a=i.required&&-1!==i.required.indexOf(r),u=o(r,e,{path:n,required:a||!1,lookup:l.lookup,ignore:l.ignore,global:l.global});u&&s.items.push(u)}}),s}},p=function(e,n,i){if("array"===r(n.type)){var l=a(e,n,i);l.type="array",l.key=i.path,i.lookup[t.stringify(i.path)]=l;var s=n.required&&-1!==n.required.indexOf(i.path[i.path.length-1]),u=i.path.slice();return u.push(""),l.items=[o(e,n.items,{path:u,required:s||!1,lookup:i.lookup,ignore:i.ignore,global:i.global})],l}},h={string:[f,l],object:[m],number:[s],integer:[u],"boolean":[c],array:[d,p]},v=function(e){return e};this.defaults=h,this.stdFormObj=a,this.defaultFormDefinition=o,this.postProcess=function(e){v=e},this.appendRule=function(e,t){h[e]||(h[e]=[]),h[e].push(t)},this.prependRule=function(e,t){h[e]||(h[e]=[]),h[e].unshift(t)},this.createStandardForm=a,this.$get=function(){var n={};return n.merge=function(r,o,a,l,s,u){o=o||["*"],l=l||{},s=s||r.readonly||r.readOnly;var c=n.defaults(r,a,l),f=o.indexOf("*");-1!==f&&(o=o.slice(0,f).concat(c.form).concat(o.slice(f+1)));var d=c.lookup;return v(o.map(function(o){if("string"==typeof o&&(o={key:o}),o.key&&"string"==typeof o.key&&(o.key=t.parse(o.key)),o.titleMap&&(o.titleMap=i(o.titleMap)),o.itemForm){o.items=[];var c=t.stringify(o.key),f=d[c];e.forEach(f.items,function(t){var r=e.copy(o.itemForm);r.key=t.key,o.items.push(r)})}if(o.key){var m=t.stringify(o.key);if(d[m]){var p=d[m];e.forEach(p,function(e,t){void 0===o[t]&&(o[t]=p[t])})}}return s===!0&&(o.readonly=!0),o.items&&(o.items=n.merge(r,o.items,a,l,o.readonly,u)),o.tabs&&e.forEach(o.tabs,function(e){e.items=n.merge(r,e.items,a,l,o.readonly,u)}),"checkbox"===o.type&&e.isUndefined(o.schema["default"])&&(o.schema["default"]=!1),u&&"template"===o.type&&!o.template&&o.templateUrl&&u.push(o),o}))},n.defaults=function(t,n,i){var a=[],l={};if(n=n||{},i=i||{},"object"!==r(t.type))throw new Error('Not implemented. Only type "object" allowed at root level of schema.');return e.forEach(t.properties,function(e,r){if(n[r]!==!0){var s=t.required&&-1!==t.required.indexOf(r),u=o(r,e,{path:[r],lookup:l,ignore:n,required:s,global:i});u&&a.push(u)}}),{form:a,lookup:l}},n.traverseSchema=function(t,r,n,i){i=e.isDefined(i)?i:!0,n=n||[];var o=function(t,r,n){if(r(t,n),e.forEach(t.properties,function(e,t){var i=n.slice();i.push(t),o(e,r,i)}),!i&&t.items){var a=n.slice();a.push(""),o(t.items,r,a)}};o(t,r,n||[])},n.traverseForm=function(t,r){r(t),e.forEach(t.items,function(e){n.traverseForm(e,r)}),t.tabs&&e.forEach(t.tabs,function(t){e.forEach(t.items,function(e){n.traverseForm(e,r)})})},n}}]),e.module("schemaForm").factory("sfSelect",["sfPath",function(e){var t=/^\d+$/;return function(r,n,i){n||(n=this);var o="string"==typeof r?e.parse(r):r;if("undefined"!=typeof i&&1===o.length)return n[o[0]]=i,n;"undefined"!=typeof i&&"undefined"==typeof n[o[0]]&&(n[o[0]]=o.length>2&&t.test(o[1])?[]:{});for(var a=n[o[0]],l=1;l<o.length;l++){if(""===o[l])return void 0;if("undefined"!=typeof i){if(l===o.length-1)return a[o[l]]=i,i;var s=a[o[l]];("undefined"==typeof s||null===s)&&(s=t.test(o[l+1])?[]:{},a[o[l]]=s),a=s}else a&&(a=a[o[l]])}return a}}]),e.module("schemaForm").factory("sfValidator",[function(){var t={};return t.validate=function(t,n){if(!t)return{valid:!0};var i=t.schema;if(!i)return{valid:!0};""===n&&(n=void 0),"number"===t.type&&null===n&&(n=void 0);var o={type:"object",properties:{}},a=t.key[t.key.length-1];o.properties[a]=i,t.required&&(o.required=[a]);var l={};return e.isDefined(n)&&(l[a]=n),r.validateResult(l,o)},t}]),e.module("schemaForm").directive("sfArray",["sfSelect","schemaForm","sfValidator","sfPath",function(t,r,n,i){var o=function(e){return function(t){t.key&&(t.key[t.key.indexOf("")]=e)}};return{restrict:"A",scope:!0,require:"?ngModel",link:function(a,l,s,u){var c={};a.validateArray=e.noop,u&&a.$emit("schemaFormPropagateNgModelController",u);var f=a.$watch(s.sfArray,function(l){if(l){var s=t(l.key,a.model),d=i.normalize(l.key);if(a.$watch("model"+("["!==d[0]?".":"")+d,function(e){s=a.modelArray=e}),e.isUndefined(s)&&(s=[],t(l.key,a.model,s)),a.modelArray=s,l.items){var m=l.items[0];l.items.length>1&&(m={type:"section",items:l.items.map(function(t){return t.ngModelOptions=l.ngModelOptions,e.isUndefined(t.readonly)&&(t.readonly=l.readonly),t})})}if(a.copyWithIndex=function(t){if(!c[t]&&m){var n=e.copy(m);n.arrayIndex=t,r.traverseForm(n,o(t)),c[t]=n}return c[t]},a.appendToArray=function(){var n=s.length,i=a.copyWithIndex(n);if(r.traverseForm(i,function(r){if(r.key){var n;e.isDefined(r["default"])&&(n=r["default"]),e.isDefined(r.schema)&&e.isDefined(r.schema["default"])&&(n=r.schema["default"]),e.isDefined(n)&&t(r.key,a.model,n)}}),n===s.length){var o,u=t("schema.items.type",l);"object"===u?o={}:"array"===u&&(o=[]),s.push(o)}return a.validateArray(),s},a.deleteFromArray=function(e){return s.splice(e,1),a.validateArray(),u&&u.$setDirty&&u.$setDirty(),s},l.titleMap||l.startEmpty===!0||0!==s.length||a.appendToArray(),l.titleMap&&l.titleMap.length>0){a.titleMapValues=[];var p=function(e){a.titleMapValues=[],e=e||[],l.titleMap.forEach(function(t){a.titleMapValues.push(-1!==e.indexOf(t.value))})};p(a.modelArray),a.$watchCollection("modelArray",p),a.$watchCollection("titleMapValues",function(e,t){if(e&&e!==t){for(var r=a.modelArray;r.length>0;)r.pop();l.titleMap.forEach(function(t,n){e[n]&&r.push(t.value)}),a.validateArray()}})}if(u){var h;a.validateArray=function(){var e=n.validate(l,a.modelArray.length>0?a.modelArray:void 0);Object.keys(u.$error).filter(function(e){return 0===e.indexOf("tv4-")}).forEach(function(e){u.$setValidity(e,!0)}),e.valid!==!1||!e.error||""!==e.error.dataPath&&e.error.dataPath!=="/"+l.key[l.key.length-1]||(u.$setViewValue(a.modelArray),h=e.error,u.$setValidity("tv4-"+e.error.code,!1))},a.$on("schemaFormValidate",a.validateArray),a.hasSuccess=function(){return a.options&&a.options.pristine&&a.options.pristine.success===!1?u.$valid&&!u.$pristine&&!u.$isEmpty(u.$modelValue):u.$valid&&(!u.$pristine||!u.$isEmpty(u.$modelValue))},a.hasError=function(){return a.options&&a.options.pristine&&a.options.pristine.errors===!1?u.$invalid&&!u.$pristine:u.$invalid},a.schemaError=function(){return h}}f()}})}}}]),e.module("schemaForm").directive("sfChanged",function(){return{require:"ngModel",restrict:"AC",scope:!1,link:function(t,r,n,i){var o=t.$eval(n.sfChanged);o&&o.onChange&&i.$viewChangeListeners.push(function(){e.isFunction(o.onChange)?o.onChange(i.$modelValue,o):t.evalExpr(o.onChange,{modelValue:i.$modelValue,form:o})})}}}),e.module("schemaForm").directive("sfField",["$parse","$compile","$http","$templateCache","$interpolate","$q","sfErrorMessage","sfPath","sfSelect",function(t,r,n,i,o,a,l,s,u){return{restrict:"AE",replace:!1,transclude:!1,scope:!0,require:"^sfSchema",link:{pre:function(e,t,r,n){e.$on("schemaFormPropagateNgModelController",function(t,r){t.stopPropagation(),t.preventDefault(),e.ngModel=r}),e.form=n.lookup["f"+r.sfField]},post:function(t,r,n,i){t.showTitle=function(){return t.form&&t.form.notitle!==!0&&t.form.title},t.listToCheckboxValues=function(t){var r={};return e.forEach(t,function(e){r[e]=!0}),r},t.checkboxValuesToList=function(t){var r=[];return e.forEach(t,function(e,t){e&&r.push(t)}),r},t.buttonClick=function(r,n){e.isFunction(n.onClick)?n.onClick(r,n):e.isString(n.onClick)&&(i?i.evalInParentScope(n.onClick,{$event:r,form:n}):t.$eval(n.onClick,{$event:r,form:n}))},t.evalExpr=function(e,r){return i?i.evalInParentScope(e,r):t.$eval(e,r)},t.evalInScope=function(e,r){return e?t.$eval(e,r):void 0},t.interp=function(e,t){return e&&o(e)(t)},t.hasSuccess=function(){return t.ngModel?t.options&&t.options.pristine&&t.options.pristine.success===!1?t.ngModel.$valid&&!t.ngModel.$pristine&&!t.ngModel.$isEmpty(t.ngModel.$modelValue):t.ngModel.$valid&&(!t.ngModel.$pristine||!t.ngModel.$isEmpty(t.ngModel.$modelValue)):!1},t.hasError=function(){return t.ngModel?t.options&&t.options.pristine&&t.options.pristine.errors===!1?t.ngModel.$invalid&&!t.ngModel.$pristine:t.ngModel.$invalid:!1},t.errorMessage=function(e){return l.interpolate(e&&e.code+""||"default",t.ngModel&&t.ngModel.$modelValue||"",t.ngModel&&t.ngModel.$viewValue||"",t.form,t.options&&t.options.validationMessage)};var a=t.form;a.key&&(t.$on("schemaForm.error."+a.key.join("."),function(e,r,n,i){(n===!0||n===!1)&&(i=n,n=void 0),t.ngModel&&r&&(t.ngModel.$setDirty?t.ngModel.$setDirty():(t.ngModel.$dirty=!0,t.ngModel.$pristine=!1),n&&(a.validationMessage||(a.validationMessage={}),a.validationMessage[r]=n),t.ngModel.$setValidity(r,i===!0),i===!0&&(t.ngModel.$validate(),t.$broadcast("schemaFormValidate")))}),t.$on("$destroy",function(){if(!t.externalDestructionInProgress){var e=a.destroyStrategy||t.options&&t.options.destroyStrategy||"remove";if(a.key&&"retain"!==e){var r=t.model;if(a.key.length>1&&(r=u(a.key.slice(0,a.key.length-1),r)),void 0===r)return;var n=a.schema&&a.schema.type||"";"empty"===e&&-1!==n.indexOf("string")?r[a.key.slice(-1)]="":"empty"===e&&-1!==n.indexOf("object")?r[a.key.slice(-1)]={}:"empty"===e&&-1!==n.indexOf("array")?r[a.key.slice(-1)]=[]:"null"===e?r[a.key.slice(-1)]=null:delete r[a.key.slice(-1)]}}}))}}}}]),e.module("schemaForm").directive("sfMessage",["$injector","sfErrorMessage",function(t,r){var n=t.has("$sanitize")?t.get("$sanitize"):function(e){return e};return{scope:!1,restrict:"EA",link:function(t,i,o){var a="";o.sfMessage&&t.$watch(o.sfMessage,function(e){e&&(a=n(e),u(!!t.ngModel))});var l,s=function(e){e!==l&&(i.html(e),l=e)},u=function(n){if(n)if(t.hasError()){var i=[];e.forEach(t.ngModel&&t.ngModel.$error,function(e,t){e&&i.push(t)}),i=i.filter(function(e){return"schemaForm"!==e});var o=i[0];s(o?r.interpolate(o,t.ngModel.$modelValue,t.ngModel.$viewValue,t.form,t.options&&t.options.validationMessage):a)}else s(a);else s(a)};u();var c=t.$watch("ngModel",function(e){e&&(e.$parsers.push(function(e){return u(!0),e}),e.$formatters.push(function(e){return u(!0),e}),c())});t.$watchCollection("ngModel.$error",function(){u(!!t.ngModel)})}}}]),e.module("schemaForm").directive("sfNewArray",["sfSelect","sfPath","schemaForm",function(t,r,n){return{scope:!1,link:function(i,o,a){i.min=0,i.modelArray=i.$eval(a.sfNewArray);var l=function(){i.modelArray=i.$eval(a.sfNewArray),(!(i.ngModel&&i.ngModel.$pristine&&i.firstDigest)||i.options&&i.options.validateOnRender===!0)&&i.validateField&&i.validateField()},s=function(){i.form&&i.form.onChange&&(e.isFunction(i.form.onChange)?i.form.onChange(i.modelArray,i.form):i.evalExpr(i.form.onChange,{modelValue:i.modelArray,form:i.form}))},u=function(){var e=i.modelArray;if(!e){var n=r.parse(a.sfNewArray);e=[],t(n,i,e),i.modelArray=e}return e},c=i.$watch("form",function(e){if(e){if(e.titleMap||e.startEmpty===!0||i.modelArray&&0!==i.modelArray.length||i.appendToArray(),i.form&&i.form.schema&&i.form.schema.uniqueItems===!0?(i.$watch(a.sfNewArray,l,!0),i.$watch([a.sfNewArray,a.sfNewArray+".length"],s)):i.$watchGroup?i.$watchGroup([a.sfNewArray,a.sfNewArray+".length"],function(){l(),s()}):(i.$watch(a.sfNewArray,function(){l(),s()}),i.$watch(a.sfNewArray+".length",function(){l(),s()})),e.titleMap&&e.titleMap.length>0){i.titleMapValues=[];var t=function(t){i.titleMapValues=[],t=t||[],e.titleMap.forEach(function(e){i.titleMapValues.push(-1!==t.indexOf(e.value))})};t(i.modelArray),i.$watchCollection("modelArray",t),i.$watchCollection("titleMapValues",function(t,r){if(t&&t!==r){for(var n=u();n.length>0;)n.pop();e.titleMap.forEach(function(e,r){t[r]&&n.push(e.value)}),i.validateField&&i.validateField()}})}c()}});i.appendToArray=function(){var r,o=u();if(i.form&&i.form.schema&&i.form.schema.items){var a=i.form.schema.items;a.type&&-1!==a.type.indexOf("object")?(r={},i.options&&i.options.setSchemaDefaults===!1||(r=e.isDefined(a["default"])?a["default"]:r,r&&n.traverseSchema(a,function(n,i){e.isDefined(n["default"])&&t(i,r,n["default"])}))):a.type&&-1!==a.type.indexOf("array")?(r=[],i.options&&i.options.setSchemaDefaults===!1||(r=a["default"]||r)):i.options&&i.options.setSchemaDefaults===!1||(r=a["default"]||r)}return o.push(r),o},i.deleteFromArray=function(e){var t=i.modelArray;return t&&t.splice(e,1),t};var f=function(e){return function(t){t.key&&(t.key[t.key.indexOf("")]=e)}},d={};i.copyWithIndex=function(t){var r=i.form;if(!d[t]){var o=r.items[0];if(r.items.length>1&&(o={type:"section",items:r.items.map(function(t){return t.ngModelOptions=r.ngModelOptions,e.isUndefined(t.readonly)&&(t.readonly=r.readonly),t})}),o){var a=e.copy(o);a.arrayIndex=t,n.traverseForm(a,f(t)),d[t]=a}}return d[t]}}}}]),e.module("schemaForm").directive("sfSchema",["$compile","$http","$templateCache","$q","schemaForm","schemaFormDecorators","sfSelect","sfPath","sfBuilder",function(t,r,n,i,o,a,l,s,u){return{scope:{schema:"=sfSchema",initialForm:"=sfForm",model:"=sfModel",options:"=sfOptions"},controller:["$scope",function(e){this.evalInParentScope=function(t,r){return e.$parent.$eval(t,r)};var t=this;e.lookup=function(e){return e&&(t.lookup=e),t.lookup}}],replace:!1,restrict:"A",transclude:!0,require:"?form",link:function(s,c,f,d,m){s.formCtrl=d;var p={};m(s,function(e){if(e.addClass("schema-form-ignore"),c.prepend(e),c[0].querySelectorAll){var t=c[0].querySelectorAll("[ng-model]");if(t)for(var r=0;r<t.length;r++){var n=t[r].getAttribute("ng-model");p[n.substring(n.indexOf(".")+1)]=!0}}});var h,v={},y=function(e,t){var a=[],l=o.merge(e,t,p,s.options,void 0,a);a.length>0?i.all(a.map(function(e){return r.get(e.templateUrl,{cache:n}).then(function(t){e.template=t.data})})).then(function(){g(e,t,l)}):g(e,t,l)},g=function(r,n,i){h&&(s.externalDestructionInProgress=!0,h.$destroy(),s.externalDestructionInProgress=!1),h=s.$new(),h.schemaForm={form:i,schema:r},c.children(":not(.schema-form-ignore)").remove();for(var d={},m=c[0].querySelectorAll("*[sf-insert-field]"),p=0;p<m.length;p++)d[m[p].getAttribute("sf-insert-field")]=m[p];var v=a.decorator(f.sfUseDecorator),y=Object.create(null);s.lookup(y),c[0].appendChild(u.build(i,v,d,y)),h.firstDigest=!0,setTimeout(function(){h.firstDigest=!1},0),t(c.children())(h),s.options&&s.options.setSchemaDefaults===!1||o.traverseSchema(r,function(t,r){if(e.isDefined(t["default"])){var n=l(r,s.model);e.isUndefined(n)&&l(r,s.model,t["default"])}}),s.$emit("sf-render-finished",c)},$=["*"];s.$watch(function(){var e=s.schema,t=s.initialForm||$;t&&e&&e.type&&(v.form!==t||v.schema!==e)&&Object.keys(e.properties).length>0&&(v.schema=e,v.form=t,y(e,t))}),s.$on("schemaFormRedraw",function(){var t=s.schema,r=s.initialForm?e.copy(s.initialForm):["*"];t&&y(t,r)}),s.$on("$destroy",function(){s.externalDestructionInProgress=!0}),s.evalExpr=function(e,t){return s.$parent.$eval(e,t)}}}}]),e.module("schemaForm").directive("schemaValidate",["sfValidator","$parse","sfSelect",function(t,r,n){return{restrict:"A",scope:!1,priority:500,require:"ngModel",link:function(r,i,o,a){r.$emit("schemaFormPropagateNgModelController",a);var l=null,s=r.$eval(o.schemaValidate);s.copyValueTo&&a.$viewChangeListeners.push(function(){var t=s.copyValueTo;e.forEach(t,function(e){n(e,r.model,a.$modelValue)})});var u=function(e){if(!s)return e;if(r.options&&r.options.tv4Validation===!1)return e;var n=t.validate(s,e);return Object.keys(a.$error).filter(function(e){return 0===e.indexOf("tv4-")}).forEach(function(e){a.$setValidity(e,!0)}),n.valid?e:(a.$setValidity("tv4-"+n.error.code,!1),l=n.error,a.$validators?e:void 0)};"function"==typeof s.ngModel&&s.ngModel(a),["$parsers","$viewChangeListeners","$formatters"].forEach(function(e){s[e]&&a[e]&&s[e].forEach(function(t){a[e].push(t)})}),["$validators","$asyncValidators"].forEach(function(t){s[t]&&a[t]&&e.forEach(s[t],function(e,r){a[t][r]=e})}),a.$parsers.push(u),a.$validators&&(a.$validators.schemaForm=function(){return!Object.keys(a.$error).some(function(e){return"schemaForm"!==e})});var c=s.schema;r.validateField=function(e){(void 0==e||a.$$parentForm.$name===e)&&(c&&-1!==c.type.indexOf("array")&&u(a.$modelValue),a.$setDirty?(a.$setDirty(),a.$setViewValue(a.$viewValue),a.$commitViewValue(),s.required&&a.$isEmpty(a.$modelValue)&&a.$setValidity("tv4-302",!1)):a.$setViewValue(a.$viewValue))},a.$formatters.push(function(e){return!a.$pristine||!r.firstDigest||r.options&&r.options.validateOnRender===!0?(u(a.$modelValue),e):e}),r.$on("schemaFormValidate",function(e,t){r.validateField(t)}),r.schemaError=function(){return l}}}}]),o}); ############################################## libjs-angular-schema-form-0.8.13/docs/extending.md-56-This all happens in one large swoop and the finished document fragment is popped inside the form libjs-angular-schema-form-0.8.13/docs/extending.md:57:and then `$compile` is used to kick start it's directives. libjs-angular-schema-form-0.8.13/docs/extending.md-58- ############################################## libjs-angular-schema-form-0.8.13/docs/extending.md-107-a build step (gulp-angular-templatecache) to "compile" the template into a javascript file that libjs-angular-schema-form-0.8.13/docs/extending.md:108:basically chucks the template into `$templateCache`. Currently schema form does *not* support libjs-angular-schema-form-0.8.13/docs/extending.md:109:loading the templates any other way. They need to be in `$templateCache` when rendering. libjs-angular-schema-form-0.8.13/docs/extending.md-110- ############################################## libjs-angular-schema-form-0.8.13/docs/extending.md-285-With the special value *replaceAll* the `ngModel` builder will instead loop over every attribute on the libjs-angular-schema-form-0.8.13/docs/extending.md:286:element and do a string replacement of `"$$value$$"` with the proper model value. libjs-angular-schema-form-0.8.13/docs/extending.md-287- ############################################## libjs-angular-schema-form-0.8.13/docs/index.md-124-You can force a validation by broadcasting the event `schemaFormValidate`, ex libjs-angular-schema-form-0.8.13/docs/index.md:125:`$scope.$broadcast('schemaFormValidate')`, this will immediately validate the libjs-angular-schema-form-0.8.13/docs/index.md-126-entire form and show any errors. ############################################## libjs-angular-schema-form-0.8.13/docs/index.md-213-| destroyStrategy | string | the default strategy to use for cleaning the model when a form element is removed. see [destroyStrategy](#destroyStrategy) below | libjs-angular-schema-form-0.8.13/docs/index.md:214:| pristine | Object `{errors ,success}` | Sets if errors and success states should be visible when form field are `$pristine`. Default is `{errors: true, success: true}` | libjs-angular-schema-form-0.8.13/docs/index.md-215-| validateOnRender | boolean | Should form be validated on initial render? Default `false` | ############################################## libjs-angular-schema-form-0.8.13/docs/index.md-421-Schema Form can expose the `ngModelController` on a field for a function supplied with the form libjs-angular-schema-form-0.8.13/docs/index.md:422:definition. Or you can use a shorthand by adding `$validators` and `$asyncValidators` objects as libjs-angular-schema-form-0.8.13/docs/index.md:423:well as `$viewChangeListener`, `$parsers` and `$formatters` arrays to your form object and they libjs-angular-schema-form-0.8.13/docs/index.md-424-will be picked up. libjs-angular-schema-form-0.8.13/docs/index.md-425- libjs-angular-schema-form-0.8.13/docs/index.md:426:Note that `$validators` and `$asyncValidators` are Angular 1.3+ only. libjs-angular-schema-form-0.8.13/docs/index.md-427- ############################################## libjs-angular-schema-form-0.8.13/docs/index.md-431-#### $validators libjs-angular-schema-form-0.8.13/docs/index.md:432:Custom validator functions are added to the `$validators` object and their attribute name is the libjs-angular-schema-form-0.8.13/docs/index.md-433-error code, so to specify a error message you also need to use. ############################################## libjs-angular-schema-form-0.8.13/docs/index.md-848-### destroyStrategy libjs-angular-schema-form-0.8.13/docs/index.md:849:By default, when a field is removed from the DOM and the `$destroy` event is broadcast, this happens libjs-angular-schema-form-0.8.13/docs/index.md-850-if you use the `condition` option, the schema-validate directive will update the model to set the ############################################## libjs-angular-schema-form-0.8.13/docs/index.md-1144-see the docs on [Extending Schema Form](extending.md) for details on what is on scope and what's up libjs-angular-schema-form-0.8.13/docs/index.md:1145:with `$$value$$` libjs-angular-schema-form-0.8.13/docs/index.md-1146- ############################################## libjs-angular-schema-form-0.8.13/src/directives/field.js-57- } else { libjs-angular-schema-form-0.8.13/src/directives/field.js:58: scope.$eval(form.onClick, {'$event': $event, form: form}); libjs-angular-schema-form-0.8.13/src/directives/field.js-59- } ############################################## libjs-angular-schema-form-0.8.13/src/services/decorators.js-83- } else { libjs-angular-schema-form-0.8.13/src/services/decorators.js:84: scope.$eval(form.onClick, {'$event': $event, form: form}); libjs-angular-schema-form-0.8.13/src/services/decorators.js-85- } ############################################## libjs-angular-schema-form-0.8.13/src/services/decorators.js-409- `template` should be the key of the template to load and it should be pre-loaded libjs-angular-schema-form-0.8.13/src/services/decorators.js:410: in `$templateCache`. libjs-angular-schema-form-0.8.13/src/services/decorators.js-411- ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-191- * Configures the mock implementation of {@link ng.$exceptionHandler} to rethrow or to log errors libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:192: * passed into the `$exceptionHandler`. libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-193- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-244- * - `log`: Sometimes it is desirable to test that an error is thrown, for this case the `log` libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:245: * mode stores an array of errors in `$exceptionHandler.errors`, to allow later libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-246- * assertion of them. See {@link ngMock.$log#assertEmpty assertEmpty()} and ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-288- * (one array per logging level). These arrays are exposed as `logs` property of each of the libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:289: * level-specific log function, e.g. for level `error` the array is exposed as `$log.error.logs`. libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-290- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-439- * libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:440: * Use {@link ngMock.$interval#flush `$interval.flush(millis)`} to libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-441- * move forward by `millis` milliseconds and trigger any functions scheduled to run in that ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-507- * libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:508: * @param {promise} promise A promise from calling the `$interval` function. libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-509- * @returns {boolean} Returns `true` if the task was successfully cancelled. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-908- * libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:909: * - `$httpBackend.expect` - specifies a request expectation libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:910: * - `$httpBackend.when` - specifies a backend definition libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-911- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-1085- * libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:1086: * Returns instance for e2e testing (when `$delegate` and `$browser` specified): libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-1087- * - passing through (delegating request to real backend) is enabled ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-1673- libjs-angular-schema-form-0.8.13/test/lib/angular.js:1674: // We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap libjs-angular-schema-form-0.8.13/test/lib/angular.js-1675- angular.$$minErr = angular.$$minErr || minErr; ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-2280- * ### Events libjs-angular-schema-form-0.8.13/test/lib/angular.js:2281: * - `$destroy` - AngularJS intercepts all jqLite/jQuery's DOM destruction apis and fires this event libjs-angular-schema-form-0.8.13/test/lib/angular.js-2282- * on all DOM nodes being removed. This can be used to clean up any 3rd party bindings to the DOM ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3393- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:3394: * `$injector` is used to retrieve object instances as defined by libjs-angular-schema-form-0.8.13/test/lib/angular.js-3395- * {@link auto.$provide provider}, instantiate types, invoke methods, ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3431- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:3432: * ## `$inject` Annotation libjs-angular-schema-form-0.8.13/test/lib/angular.js:3433: * By adding an `$inject` property onto a function the injection parameters can be specified. libjs-angular-schema-form-0.8.13/test/lib/angular.js-3434- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3454- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:3455: * Invoke the method and supply the method arguments from the `$injector`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-3456- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3460- * @param {Object=} locals Optional object. If preset then any argument names are read from this libjs-angular-schema-form-0.8.13/test/lib/angular.js:3461: * object first, before the `$injector` is consulted. libjs-angular-schema-form-0.8.13/test/lib/angular.js-3462- * @returns {*} the value returned by the invoked `fn` function. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3485- * @param {Object=} locals Optional object. If preset then any argument names are read from this libjs-angular-schema-form-0.8.13/test/lib/angular.js:3486: * object first, before the `$injector` is consulted. libjs-angular-schema-form-0.8.13/test/lib/angular.js-3487- * @returns {Object} new instance of `Type`. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3517- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:3518: * # The `$inject` property libjs-angular-schema-form-0.8.13/test/lib/angular.js-3519- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:3520: * If a function has an `$inject` property and its value is an array of strings, then the strings libjs-angular-schema-form-0.8.13/test/lib/angular.js-3521- * represent names of services to be injected into the function. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3535- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:3536: * It is often desirable to inline Injected functions and that's when setting the `$inject` property libjs-angular-schema-form-0.8.13/test/lib/angular.js-3537- * is very inconvenient. In these situations using the array notation to specify the dependencies in ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3585- * The **service providers** are constructor functions. When instantiated they must contain a libjs-angular-schema-form-0.8.13/test/lib/angular.js:3586: * property called `$get`, which holds the **service factory** function. libjs-angular-schema-form-0.8.13/test/lib/angular.js-3587- * libjs-angular-schema-form-0.8.13/test/lib/angular.js-3588- * When you request a service, the {@link auto.$injector $injector} is responsible for finding the libjs-angular-schema-form-0.8.13/test/lib/angular.js:3589: * correct **service provider**, instantiating it and then calling its `$get` **service factory** libjs-angular-schema-form-0.8.13/test/lib/angular.js-3590- * function to get the instance of the **service**. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3592- * Often services have no configuration options and there is no need to add methods to the service libjs-angular-schema-form-0.8.13/test/lib/angular.js:3593: * provider. The provider will be no more than a constructor function with a `$get` property. For libjs-angular-schema-form-0.8.13/test/lib/angular.js-3594- * these cases the {@link auto.$provide $provide} service has additional helper methods to register ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3603- * * {@link auto.$provide#factory factory(fn)} - registers a service **factory function**, `fn`, libjs-angular-schema-form-0.8.13/test/lib/angular.js:3604: * that will be wrapped in a **service provider** object, whose `$get` property will contain the libjs-angular-schema-form-0.8.13/test/lib/angular.js-3605- * given factory function. libjs-angular-schema-form-0.8.13/test/lib/angular.js-3606- * * {@link auto.$provide#service service(class)} - registers a **constructor function**, `class` libjs-angular-schema-form-0.8.13/test/lib/angular.js:3607: * that will be wrapped in a **service provider** object, whose `$get` property will instantiate libjs-angular-schema-form-0.8.13/test/lib/angular.js-3608- * a new object using the given constructor function. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3626- * Service provider objects can have additional methods which allow configuration of the provider libjs-angular-schema-form-0.8.13/test/lib/angular.js:3627: * and its service. Importantly, you can configure what kind of service is created by the `$get` libjs-angular-schema-form-0.8.13/test/lib/angular.js-3628- * method, or how that service will act. For example, the {@link ng.$logProvider $logProvider} has a ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3636- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:3637: * - `Object`: then it should have a `$get` method. The `$get` method will be invoked using libjs-angular-schema-form-0.8.13/test/lib/angular.js-3638- * {@link auto.$injector#invoke $injector.invoke()} when an instance needs to be created. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3714- * Register a **service factory**, which will be called to return the service instance. libjs-angular-schema-form-0.8.13/test/lib/angular.js:3715: * This is short for registering a service where its provider consists of only a `$get` property, libjs-angular-schema-form-0.8.13/test/lib/angular.js-3716- * which is the given service factory function. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3721- * @param {function()} $getFn The $getFn for the instance creation. Internally this is a short hand libjs-angular-schema-form-0.8.13/test/lib/angular.js:3722: * for `$provide.provider(name, {$get: $getFn})`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-3723- * @returns {Object} registered provider instance ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3749- * instance. libjs-angular-schema-form-0.8.13/test/lib/angular.js:3750: * This is short for registering a service where its provider's `$get` property is the service libjs-angular-schema-form-0.8.13/test/lib/angular.js-3751- * constructor function that will be used to instantiate the service instance. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3790- * number, an array, an object or a function. This is short for registering a service where its libjs-angular-schema-form-0.8.13/test/lib/angular.js:3791: * provider's `$get` property is a factory function that takes no arguments and returns the **value libjs-angular-schema-form-0.8.13/test/lib/angular.js-3792- * service**. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-3860- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:3861: * * `$delegate` - The original service instance, which can be monkey patched, configured, libjs-angular-schema-form-0.8.13/test/lib/angular.js-3862- * decorated or delegated to. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-4106- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:4107: * When called, it checks current value of `$location.hash()` and scrolls to the related element, libjs-angular-schema-form-0.8.13/test/lib/angular.js-4108- * according to rules specified in ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-4110- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:4111: * It also watches the `$location.hash()` and scrolls whenever it changes to match any anchor. libjs-angular-schema-form-0.8.13/test/lib/angular.js:4112: * This can be disabled by calling `$anchorScrollProvider.disableAutoScrolling()`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-4113- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-4468- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:4469: * For tests we provide {@link ngMock.$browser mock implementation} of the `$browser` libjs-angular-schema-form-0.8.13/test/lib/angular.js-4470- * service, which can be used for convenient testing of the application without the interaction with ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-4788- * @param {number=} [delay=0] of milliseconds to defer the function execution. libjs-angular-schema-form-0.8.13/test/lib/angular.js:4789: * @returns {*} DeferId that can be used to cancel the task via `$browser.defer.cancel()`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-4790- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-4795- * `setTimeout` in tests, the fns are queued in an array, which can be programmatically flushed libjs-angular-schema-form-0.8.13/test/lib/angular.js:4796: * via `$browser.defer.flush()`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-4797- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-4816- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:4817: * @param {*} deferId Token returned by the `$browser.defer` function. libjs-angular-schema-form-0.8.13/test/lib/angular.js-4818- * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-5195- * can load templates directly into the cache in a `script` tag, or by consuming the libjs-angular-schema-form-0.8.13/test/lib/angular.js:5196: * `$templateCache` service directly. libjs-angular-schema-form-0.8.13/test/lib/angular.js-5197- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-5418- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:5419: * * `$scope` - Current scope associated with the element libjs-angular-schema-form-0.8.13/test/lib/angular.js:5420: * * `$element` - Current element libjs-angular-schema-form-0.8.13/test/lib/angular.js:5421: * * `$attrs` - Current attributes object for the element libjs-angular-schema-form-0.8.13/test/lib/angular.js:5422: * * `$transclude` - A transclude linking function pre-bound to the correct transclusion scope. libjs-angular-schema-form-0.8.13/test/lib/angular.js-5423- * The scope can be overridden by an optional first argument. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-5596- * * `transcludeFn` - A transclude linking function pre-bound to the correct transclusion scope. libjs-angular-schema-form-0.8.13/test/lib/angular.js:5597: * The scope can be overridden by an optional first argument. This is the same as the `$transclude` libjs-angular-schema-form-0.8.13/test/lib/angular.js-5598- * parameter of directive controllers. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-5628- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:5629: * * *Observing interpolated attributes:* Use `$observe` to observe the value changes of attributes libjs-angular-schema-form-0.8.13/test/lib/angular.js-5630- * that contain interpolation (e.g. `src="{{bar}}"`). Not only is this very efficient but it's also ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-5648- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:5649: * Below is an example using `$compileProvider`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-5650- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-5652- * **Note**: Typically directives are registered with `module.directive`. The example below is libjs-angular-schema-form-0.8.13/test/lib/angular.js:5653: * to illustrate how `$compile` works. libjs-angular-schema-form-0.8.13/test/lib/angular.js-5654- * </div> ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-6044- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:6045: * The observer function will be invoked once during the next `$digest` following libjs-angular-schema-form-0.8.13/test/lib/angular.js-6046- * compilation. The observer is then invoked whenever the interpolated value ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-6847- libjs-angular-schema-form-0.8.13/test/lib/angular.js:6848: // This is the function that is injected as `$transclude`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-6849- function controllersBoundTransclude(scope, cloneAttachFn) { ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7412- * @name $controllerProvider#allowGlobals libjs-angular-schema-form-0.8.13/test/lib/angular.js:7413: * @description If called, allows `$controller` to find controller constructors on `window` libjs-angular-schema-form-0.8.13/test/lib/angular.js-7414- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7430- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:7431: * * check if a controller with given name is registered via `$controllerProvider` libjs-angular-schema-form-0.8.13/test/lib/angular.js-7432- * * check if evaluating the string on the current scope returns a constructor ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7439- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:7440: * `$controller` service is responsible for instantiating controllers. libjs-angular-schema-form-0.8.13/test/lib/angular.js-7441- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7514- * Any uncaught exception in angular expressions is delegated to this service. libjs-angular-schema-form-0.8.13/test/lib/angular.js:7515: * The default implementation simply delegates to `$log.error` which logs it into libjs-angular-schema-form-0.8.13/test/lib/angular.js-7516- * the browser console. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7531- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:7532: * This example will override the normal action of `$exceptionHandler`, to make angular libjs-angular-schema-form-0.8.13/test/lib/angular.js-7533- * exceptions fail hard when they happen, instead of just logging to the console. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7630- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:7631: * Use `$httpProvider` to change the default behavior of the {@link ng.$http $http} service. libjs-angular-schema-form-0.8.13/test/lib/angular.js-7632- * */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7724- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:7725: * The `$http` service is a core Angular service that facilitates communication with the remote libjs-angular-schema-form-0.8.13/test/lib/angular.js-7726- * HTTP servers via the browser's [XMLHttpRequest](https://developer.mozilla.org/en/xmlhttprequest) ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7728- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:7729: * For unit testing applications that use `$http` service, see libjs-angular-schema-form-0.8.13/test/lib/angular.js-7730- * {@link ngMock.$httpBackend $httpBackend mock}. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7740- * # General usage libjs-angular-schema-form-0.8.13/test/lib/angular.js:7741: * The `$http` service is a function which takes a single argument — a configuration object — libjs-angular-schema-form-0.8.13/test/lib/angular.js-7742- * that is used to generate an HTTP request and returns a {@link ng.$q promise} ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7800- * The $http service will automatically add certain HTTP headers to all requests. These defaults libjs-angular-schema-form-0.8.13/test/lib/angular.js:7801: * can be fully configured by accessing the `$httpProvider.defaults.headers` configuration libjs-angular-schema-form-0.8.13/test/lib/angular.js-7802- * object, which currently contains this default configuration: libjs-angular-schema-form-0.8.13/test/lib/angular.js-7803- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:7804: * - `$httpProvider.defaults.headers.common` (headers that are common for all requests): libjs-angular-schema-form-0.8.13/test/lib/angular.js-7805- * - `Accept: application/json, text/plain, * / *` libjs-angular-schema-form-0.8.13/test/lib/angular.js:7806: * - `$httpProvider.defaults.headers.post`: (header defaults for POST requests) libjs-angular-schema-form-0.8.13/test/lib/angular.js-7807- * - `Content-Type: application/json` libjs-angular-schema-form-0.8.13/test/lib/angular.js:7808: * - `$httpProvider.defaults.headers.put` (header defaults for PUT requests) libjs-angular-schema-form-0.8.13/test/lib/angular.js-7809- * - `Content-Type: application/json` ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7815- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:7816: * The defaults can also be set at runtime via the `$http.defaults` object in the same libjs-angular-schema-form-0.8.13/test/lib/angular.js-7817- * fashion. For example: ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7825- * In addition, you can supply a `headers` property in the config object passed when libjs-angular-schema-form-0.8.13/test/lib/angular.js:7826: * calling `$http(config)`, which overrides the defaults without changing them globally. libjs-angular-schema-form-0.8.13/test/lib/angular.js-7827- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7844- * To globally augment or override the default transforms, modify the libjs-angular-schema-form-0.8.13/test/lib/angular.js:7845: * `$httpProvider.defaults.transformRequest` and `$httpProvider.defaults.transformResponse` libjs-angular-schema-form-0.8.13/test/lib/angular.js-7846- * properties. These properties are by default an array of transform functions, which allows you ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7854- * `transformRequest` and/or `transformResponse` properties of the configuration object passed libjs-angular-schema-form-0.8.13/test/lib/angular.js:7855: * into `$http`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-7856- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7860- * To enable caching, set the request configuration `cache` property to `true` (to use default libjs-angular-schema-form-0.8.13/test/lib/angular.js:7861: * cache) or to a custom cache object (built with {@link ng.$cacheFactory `$cacheFactory`}). libjs-angular-schema-form-0.8.13/test/lib/angular.js:7862: * When the cache is enabled, `$http` stores the response from the server in the specified libjs-angular-schema-form-0.8.13/test/lib/angular.js-7863- * cache. The next time the same request is made, the response is served from the cache without ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7873- * You can change the default cache to a new object (built with libjs-angular-schema-form-0.8.13/test/lib/angular.js:7874: * {@link ng.$cacheFactory `$cacheFactory`}) by updating the libjs-angular-schema-form-0.8.13/test/lib/angular.js:7875: * {@link ng.$http#properties_defaults `$http.defaults.cache`} property. All requests who set libjs-angular-schema-form-0.8.13/test/lib/angular.js-7876- * their `cache` property to `true` will now use this cache object. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-7892- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:7893: * The interceptors are service factories that are registered with the `$httpProvider` by libjs-angular-schema-form-0.8.13/test/lib/angular.js:7894: * adding them to the `$httpProvider.interceptors` array. The factory is called and libjs-angular-schema-form-0.8.13/test/lib/angular.js-7895- * injected with dependencies (if specified) and returns the interceptor. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-8380- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:8381: * Runtime equivalent of the `$httpProvider.defaults` property. Allows configuration of libjs-angular-schema-form-0.8.13/test/lib/angular.js-8382- * default headers, withCredentials as well as request and response transformations. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-8862- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:8863: * `$interpolate` takes an optional fourth argument, `allOrNothing`. If `allOrNothing` is libjs-angular-schema-form-0.8.13/test/lib/angular.js-8864- * `true`, the interpolation function will return `undefined` unless all embedded expressions ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9130- * number of iterations that have run. libjs-angular-schema-form-0.8.13/test/lib/angular.js:9131: * To cancel an interval, call `$interval.cancel(promise)`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9132- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:9133: * In tests you can use {@link ngMock.$interval#flush `$interval.flush(millis)`} to libjs-angular-schema-form-0.8.13/test/lib/angular.js-9134- * move forward by `millis` milliseconds and trigger any functions scheduled to run in that ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9280- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:9281: * @param {promise} promise returned by the `$interval` function. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9282- * @returns {boolean} Returns `true` if the task was successfully canceled. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9686- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:9687: * Change path, search and hash, when called with parameter and return `$location`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9688- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9752- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:9753: * Change path when called with parameter and return `$location`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9754- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9773- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:9774: * Change search part when called with parameter and return `$location`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9775- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9791- * When called with a single argument the method acts as a setter, setting the `search` component libjs-angular-schema-form-0.8.13/test/lib/angular.js:9792: * of `$location` to the specified value. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9793- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9800- * If `paramValue` is an array, it will override the property of the `search` component of libjs-angular-schema-form-0.8.13/test/lib/angular.js:9801: * `$location` specified via the first argument. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9802- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9808- * @return {Object} If called with no arguments returns the parsed `search` object. If called with libjs-angular-schema-form-0.8.13/test/lib/angular.js:9809: * one or more arguments returns `$location` object itself. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9810- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9826- throw $locationMinErr('isrcharg', libjs-angular-schema-form-0.8.13/test/lib/angular.js:9827: 'The first argument of the `$location#search()` call must be a string or an object.'); libjs-angular-schema-form-0.8.13/test/lib/angular.js-9828- } ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9850- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:9851: * Change hash fragment when called with parameter and return `$location`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9852- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9862- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:9863: * If called, all changes to $location during current `$digest` will be replacing current history libjs-angular-schema-form-0.8.13/test/lib/angular.js-9864- * record, instead of adding new one. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-9921- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:9922: * Use the `$locationProvider` to configure how the application deep linking paths are stored. libjs-angular-schema-form-0.8.13/test/lib/angular.js-9923- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-10170- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:10171: * Use the `$logProvider` to configure how the application logs messages libjs-angular-schema-form-0.8.13/test/lib/angular.js-10172- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-11271- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:11272: * `$parseProvider` can be used for configuring the default behavior of the {@link ng.$parse $parse} libjs-angular-schema-form-0.8.13/test/lib/angular.js-11273- * service. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-11427- * ```js libjs-angular-schema-form-0.8.13/test/lib/angular.js:11428: * // for the purpose of this example let's assume that variables `$q`, `scope` and `okToGreet` libjs-angular-schema-form-0.8.13/test/lib/angular.js-11429- * // are available in the current lexical scope (they could have been injected or passed in). ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-11467- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:11468: * A new instance of deferred is constructed by calling `$q.defer()`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-11469- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-11476- * - `resolve(value)` – resolves the derived promise with the `value`. If the value is a rejection libjs-angular-schema-form-0.8.13/test/lib/angular.js:11477: * constructed via `$q.reject`, the promise will be rejected instead. libjs-angular-schema-form-0.8.13/test/lib/angular.js-11478- * - `reject(reason)` – rejects the derived promise with the `reason`. This is equivalent to libjs-angular-schema-form-0.8.13/test/lib/angular.js:11479: * resolving it with a rejection constructed via `$q.reject`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-11480- * - `notify(value)` - provides updates on the status of the promise's execution. This may be called ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12040- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12041: * Sets the number of `$digest` iterations the scope should attempt to execute before giving up and libjs-angular-schema-form-0.8.13/test/lib/angular.js-12042- * assuming that the model is unstable. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12045- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12046: * In complex applications it's possible that the dependencies between `$watch`s will result in libjs-angular-schema-form-0.8.13/test/lib/angular.js-12047- * several digest iterations. However if an application needs more than the default 10 digest ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12622- * its children. Because a {@link ng.$rootScope.Scope#$watch watcher}'s listener can change libjs-angular-schema-form-0.8.13/test/lib/angular.js:12623: * the model, the `$digest()` keeps calling the {@link ng.$rootScope.Scope#$watch watchers} libjs-angular-schema-form-0.8.13/test/lib/angular.js-12624- * until no more listeners are firing. This means that it is possible to get into an infinite ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12627- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12628: * Usually, you don't call `$digest()` directly in libjs-angular-schema-form-0.8.13/test/lib/angular.js-12629- * {@link ng.directive:ngController controllers} or in ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12631- * Instead, you should call {@link ng.$rootScope.Scope#$apply $apply()} (typically from within libjs-angular-schema-form-0.8.13/test/lib/angular.js:12632: * a {@link ng.$compileProvider#directive directive}), which will force a `$digest()`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-12633- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12634: * If you want to be notified whenever `$digest()` is called, libjs-angular-schema-form-0.8.13/test/lib/angular.js-12635- * you can register a `watchExpression` function with ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12637- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12638: * In unit tests, you may need to call `$digest()` to simulate the scope life cycle. libjs-angular-schema-form-0.8.13/test/lib/angular.js-12639- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12781- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12782: * Note that, in AngularJS, there is also a `$destroy` jQuery event, which can be used to libjs-angular-schema-form-0.8.13/test/lib/angular.js-12783- * clean up DOM bindings before an element is removed from the DOM. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12796- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12797: * The `$destroy()` is usually used by directives such as libjs-angular-schema-form-0.8.13/test/lib/angular.js-12798- * {@link ng.directive:ngRepeat ngRepeat} for managing the ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12800- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12801: * Just before a scope is destroyed, a `$destroy` event is broadcasted on this scope. libjs-angular-schema-form-0.8.13/test/lib/angular.js:12802: * Application code can register a `$destroy` event handler that will give it a chance to libjs-angular-schema-form-0.8.13/test/lib/angular.js-12803- * perform any necessary cleanup. libjs-angular-schema-form-0.8.13/test/lib/angular.js-12804- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12805: * Note that, in AngularJS, there is also a `$destroy` jQuery event, which can be used to libjs-angular-schema-form-0.8.13/test/lib/angular.js-12806- * clean up DOM bindings before an element is removed from the DOM. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12886- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12887: * The `$evalAsync` makes no guarantees as to when the `expression` will be executed, only libjs-angular-schema-form-0.8.13/test/lib/angular.js-12888- * that: ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12897- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12898: * __Note:__ if this function is called outside of a `$digest` cycle, a new `$digest` cycle libjs-angular-schema-form-0.8.13/test/lib/angular.js-12899- * will be scheduled. However, it is encouraged to always call code that changes the model libjs-angular-schema-form-0.8.13/test/lib/angular.js:12900: * from within an `$apply` call. That includes code evaluated via `$evalAsync`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-12901- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12931- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:12932: * `$apply()` is used to execute an expression in angular from outside of the angular libjs-angular-schema-form-0.8.13/test/lib/angular.js-12933- * framework. (For example from browser DOM events, setTimeout, XHR or third party libraries). ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12939- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12940: * # Pseudo-Code of `$apply()` libjs-angular-schema-form-0.8.13/test/lib/angular.js-12941- * ```js ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12953- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:12954: * Scope's `$apply()` method transitions through the following stages: libjs-angular-schema-form-0.8.13/test/lib/angular.js-12955- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-12999- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:13000: * - `targetScope` - `{Scope}`: the scope on which the event was `$emit`-ed or libjs-angular-schema-form-0.8.13/test/lib/angular.js:13001: * `$broadcast`-ed. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13002- * - `currentScope` - `{Scope}`: the scope that is currently handling the event. Once the ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13005- * - `stopPropagation` - `{function=}`: calling `stopPropagation` function will cancel libjs-angular-schema-form-0.8.13/test/lib/angular.js:13006: * further event propagation (available only for events that were `$emit`-ed). libjs-angular-schema-form-0.8.13/test/lib/angular.js-13007- * - `preventDefault` - `{function}`: calling `preventDefault` sets `defaultPrevented` flag ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13046- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:13047: * The event life cycle starts at the scope on which `$emit` was called. All libjs-angular-schema-form-0.8.13/test/lib/angular.js-13048- * {@link ng.$rootScope.Scope#$on listeners} listening for `name` event on this scope get ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13119- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:13120: * The event life cycle starts at the scope on which `$broadcast` was called. All libjs-angular-schema-form-0.8.13/test/lib/angular.js-13121- * {@link ng.$rootScope.Scope#$on listeners} listening for `name` event on this scope get ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13366- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:13367: * `$sceDelegate` is a service that is used by the `$sce` service to provide {@link ng.$sce Strict libjs-angular-schema-form-0.8.13/test/lib/angular.js-13368- * Contextual Escaping (SCE)} services to AngularJS. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13370- * Typically, you would configure or override the {@link ng.$sceDelegate $sceDelegate} instead of libjs-angular-schema-form-0.8.13/test/lib/angular.js:13371: * the `$sce` service to customize the way Strict Contextual Escaping works in AngularJS. This is libjs-angular-schema-form-0.8.13/test/lib/angular.js:13372: * because, while the `$sce` provides numerous shorthand methods, etc., you really only need to libjs-angular-schema-form-0.8.13/test/lib/angular.js-13373- * override 3 core functions (`trustAs`, `getTrusted` and `valueOf`) to replace the way things libjs-angular-schema-form-0.8.13/test/lib/angular.js:13374: * work because `$sce` delegates to `$sceDelegate` for these operations. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13375- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13377- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:13378: * The default instance of `$sceDelegate` should work out of the box with little pain. While you libjs-angular-schema-form-0.8.13/test/lib/angular.js:13379: * can override it completely to change the behavior of `$sce`, the common case would libjs-angular-schema-form-0.8.13/test/lib/angular.js-13380- * involve configuring the {@link ng.$sceDelegateProvider $sceDelegateProvider} instead by setting ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13391- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:13392: * The `$sceDelegateProvider` provider allows developers to configure the {@link ng.$sceDelegate libjs-angular-schema-form-0.8.13/test/lib/angular.js-13393- * $sceDelegate} service. This allows one to get/set the whitelists and blacklists used to ensure ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13608- * If the passed parameter had been returned by a prior call to {@link ng.$sceDelegate#trustAs libjs-angular-schema-form-0.8.13/test/lib/angular.js:13609: * `$sceDelegate.trustAs`}, returns the value that had been passed to {@link libjs-angular-schema-form-0.8.13/test/lib/angular.js:13610: * ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13611- * libjs-angular-schema-form-0.8.13/test/lib/angular.js-13612- * If the passed parameter is not a value that had been returned by {@link libjs-angular-schema-form-0.8.13/test/lib/angular.js:13613: * ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}, returns it as-is. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13614- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:13615: * @param {*} value The result of a prior {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-13616- * call or anything else. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13617- * @returns {*} The `value` that was originally provided to {@link ng.$sceDelegate#trustAs libjs-angular-schema-form-0.8.13/test/lib/angular.js:13618: * `$sceDelegate.trustAs`} if `value` is the result of such a call. Otherwise, returns libjs-angular-schema-form-0.8.13/test/lib/angular.js-13619- * `value` unchanged. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13633- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:13634: * Takes the result of a {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`} call and libjs-angular-schema-form-0.8.13/test/lib/angular.js-13635- * returns the originally supplied value if the queried context type is a supertype of the ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13639- * @param {*} maybeTrusted The result of a prior {@link ng.$sceDelegate#trustAs libjs-angular-schema-form-0.8.13/test/lib/angular.js:13640: * `$sceDelegate.trustAs`} call. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13641- * @returns {*} The value the was originally provided to {@link ng.$sceDelegate#trustAs libjs-angular-schema-form-0.8.13/test/lib/angular.js:13642: * `$sceDelegate.trustAs`} if valid in this context. Otherwise, throws an exception. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13643- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13696- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:13697: * `$sce` is a service that provides Strict Contextual Escaping services to AngularJS. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13698- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13754- * $sce.getTrusted(context, value)} rather than to the value directly. Directives use {@link libjs-angular-schema-form-0.8.13/test/lib/angular.js:13755: * ng.$sce#parse $sce.parseAs} rather than `$parse` to watch attribute bindings, which performs the libjs-angular-schema-form-0.8.13/test/lib/angular.js-13756- * {@link ng.$sce#getTrusted $sce.getTrusted} behind the scenes on non-constant literals. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13796- * If your expressions are constant literals, they're automatically trusted and you don't need to libjs-angular-schema-form-0.8.13/test/lib/angular.js:13797: * call `$sce.trustAs` on them (remember to include the `ngSanitize` module) (e.g. libjs-angular-schema-form-0.8.13/test/lib/angular.js-13798- * `<div ng-bind-html="'<b>implicitly trusted</b>'"></div>`) just works. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-13818- * |---------------------|----------------| libjs-angular-schema-form-0.8.13/test/lib/angular.js:13819: * | `$sce.HTML` | For HTML that's safe to source into the application. The {@link ng.directive:ngBindHtml ngBindHtml} directive uses this context for bindings. If an unsafe value is encountered and the {@link ngSanitize $sanitize} module is present this will sanitize the value instead of throwing an error. | libjs-angular-schema-form-0.8.13/test/lib/angular.js:13820: * | `$sce.CSS` | For CSS that's safe to source into the application. Currently unused. Feel free to use it in your own directives. | libjs-angular-schema-form-0.8.13/test/lib/angular.js:13821: * | `$sce.URL` | For URLs that are safe to follow as links. Currently unused (`<a href=` and `<img src=` sanitize their urls and don't constitute an SCE context. | libjs-angular-schema-form-0.8.13/test/lib/angular.js:13822: * | `$sce.RESOURCE_URL` | For URLs that are not only safe to follow as links, but whose contents are also safe to include in your application. Examples include `ng-include`, `src` / `ngSrc` bindings for tags other than `IMG` (e.g. `IFRAME`, `OBJECT`, etc.) <br><br>Note that `$sce.RESOURCE_URL` makes a stronger statement about the URL than `$sce.URL` does and therefore contexts requiring values trusted for `$sce.RESOURCE_URL` can be used anywhere that values trusted for `$sce.URL` are required. | libjs-angular-schema-form-0.8.13/test/lib/angular.js:13823: * | `$sce.JS` | For JavaScript that is safe to execute in your application's context. Currently unused. Feel free to use it in your own directives. | libjs-angular-schema-form-0.8.13/test/lib/angular.js-13824- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14095- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14096: * Delegates to {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}. As such, libjs-angular-schema-form-0.8.13/test/lib/angular.js-14097- * returns an object that is trusted by angular for use in specified strict contextual ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14114- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14115: * Shorthand method. `$sce.trustAsHtml(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14116: * {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.HTML, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14117- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14129- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14130: * Shorthand method. `$sce.trustAsUrl(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14131: * {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.URL, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14132- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14144- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14145: * Shorthand method. `$sce.trustAsResourceUrl(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14146: * {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.RESOURCE_URL, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14147- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14159- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14160: * Shorthand method. `$sce.trustAsJs(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14161: * {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.JS, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14162- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14174- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14175: * Delegates to {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted`}. As such, libjs-angular-schema-form-0.8.13/test/lib/angular.js:14176: * takes the result of a {@link ng.$sce#trustAs `$sce.trustAs`}() call and returns the libjs-angular-schema-form-0.8.13/test/lib/angular.js-14177- * originally supplied value if the queried context type is a supertype of the created type. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14180- * @param {string} type The kind of context in which this value is to be used. libjs-angular-schema-form-0.8.13/test/lib/angular.js:14181: * @param {*} maybeTrusted The result of a prior {@link ng.$sce#trustAs `$sce.trustAs`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14182- * call. libjs-angular-schema-form-0.8.13/test/lib/angular.js-14183- * @returns {*} The value the was originally provided to libjs-angular-schema-form-0.8.13/test/lib/angular.js:14184: * {@link ng.$sce#trustAs `$sce.trustAs`} if valid in this context. libjs-angular-schema-form-0.8.13/test/lib/angular.js-14185- * Otherwise, throws an exception. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14192- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14193: * Shorthand method. `$sce.getTrustedHtml(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14194: * {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.HTML, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14195- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14196: * @param {*} value The value to pass to `$sce.getTrusted`. libjs-angular-schema-form-0.8.13/test/lib/angular.js:14197: * @returns {*} The return value of `$sce.getTrusted($sce.HTML, value)` libjs-angular-schema-form-0.8.13/test/lib/angular.js-14198- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14204- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14205: * Shorthand method. `$sce.getTrustedCss(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14206: * {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.CSS, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14207- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14208: * @param {*} value The value to pass to `$sce.getTrusted`. libjs-angular-schema-form-0.8.13/test/lib/angular.js:14209: * @returns {*} The return value of `$sce.getTrusted($sce.CSS, value)` libjs-angular-schema-form-0.8.13/test/lib/angular.js-14210- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14216- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14217: * Shorthand method. `$sce.getTrustedUrl(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14218: * {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.URL, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14219- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14220: * @param {*} value The value to pass to `$sce.getTrusted`. libjs-angular-schema-form-0.8.13/test/lib/angular.js:14221: * @returns {*} The return value of `$sce.getTrusted($sce.URL, value)` libjs-angular-schema-form-0.8.13/test/lib/angular.js-14222- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14228- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14229: * Shorthand method. `$sce.getTrustedResourceUrl(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14230: * {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.RESOURCE_URL, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14231- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14232: * @param {*} value The value to pass to `$sceDelegate.getTrusted`. libjs-angular-schema-form-0.8.13/test/lib/angular.js:14233: * @returns {*} The return value of `$sce.getTrusted($sce.RESOURCE_URL, value)` libjs-angular-schema-form-0.8.13/test/lib/angular.js-14234- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14240- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14241: * Shorthand method. `$sce.getTrustedJs(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14242: * {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.JS, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14243- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14244: * @param {*} value The value to pass to `$sce.getTrusted`. libjs-angular-schema-form-0.8.13/test/lib/angular.js:14245: * @returns {*} The return value of `$sce.getTrusted($sce.JS, value)` libjs-angular-schema-form-0.8.13/test/lib/angular.js-14246- */ ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14252- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14253: * Shorthand method. `$sce.parseAsHtml(expression string)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14254: * {@link ng.$sce#parse `$sce.parseAs($sce.HTML, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14255- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14269- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14270: * Shorthand method. `$sce.parseAsCss(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14271: * {@link ng.$sce#parse `$sce.parseAs($sce.CSS, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14272- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14286- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14287: * Shorthand method. `$sce.parseAsUrl(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14288: * {@link ng.$sce#parse `$sce.parseAs($sce.URL, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14289- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14303- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14304: * Shorthand method. `$sce.parseAsResourceUrl(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14305: * {@link ng.$sce#parse `$sce.parseAs($sce.RESOURCE_URL, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14306- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14320- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:14321: * Shorthand method. `$sce.parseAsJs(value)` → libjs-angular-schema-form-0.8.13/test/lib/angular.js:14322: * {@link ng.$sce#parse `$sce.parseAs($sce.JS, value)`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-14323- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14373- android = libjs-angular-schema-form-0.8.13/test/lib/angular.js:14374: int((/android (\d+)/.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]), libjs-angular-schema-form-0.8.13/test/lib/angular.js-14375- boxee = /Boxee/i.test(($window.navigator || {}).userAgent), ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14464- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14465: * To cancel a timeout request, call `$timeout.cancel(promise)`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-14466- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14467: * In tests you can use {@link ngMock.$timeout `$timeout.flush()`} to libjs-angular-schema-form-0.8.13/test/lib/angular.js-14468- * synchronously flush the queue of deferred functions. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14512- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14513: * @param {Promise=} promise Promise returned by the `$timeout` function. libjs-angular-schema-form-0.8.13/test/lib/angular.js-14514- * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14640- * it is a global variable. In angular we always refer to it through the libjs-angular-schema-form-0.8.13/test/lib/angular.js:14641: * `$window` service, so it may be overridden, removed or mocked for testing. libjs-angular-schema-form-0.8.13/test/lib/angular.js-14642- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14718- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:14719: * The filter function is registered with the `$injector` under the filter name suffix with libjs-angular-schema-form-0.8.13/test/lib/angular.js-14720- * `Filter`. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-14856- * which have property `name` containing "M" and property `phone` containing "1". A special libjs-angular-schema-form-0.8.13/test/lib/angular.js:14857: * property name `$` can be used (as in `{$:"text"}`) to accept a match against any libjs-angular-schema-form-0.8.13/test/lib/angular.js-14858- * property of the object. That's equivalent to the simple substring match with a `string` ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-15745- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:15746: * It's also possible to call the orderBy filter manually, by injecting `$filter`, retrieving the libjs-angular-schema-form-0.8.13/test/lib/angular.js:15747: * filter routine with `$filter('orderBy')`, and calling the returned filter routine with the libjs-angular-schema-form-0.8.13/test/lib/angular.js-15748- * desired parameters. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-16413- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:16414: * Rollback all form controls pending updates to the `$modelValue`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-16415- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-16430- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:16431: * Commit all form controls pending updates to the `$modelValue`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-16432- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-17592- </form> libjs-angular-schema-form-0.8.13/test/lib/angular.js:17593: Note that `ng-value="specialValue"` sets radio item's value to be the value of `$scope.specialValue`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-17594- </file> ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18025- libjs-angular-schema-form-0.8.13/test/lib/angular.js:18026: // Override the standard `$isEmpty` because a value of `false` means empty in a checkbox. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18027- ctrl.$isEmpty = function(value) { ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18265- * module to automatically remove "bad" content like inline event listener (e.g. `<span onclick="...">`). libjs-angular-schema-form-0.8.13/test/lib/angular.js:18266: * However, as we are using `$sce` the model can still decide to to provide unsafe content if it marks libjs-angular-schema-form-0.8.13/test/lib/angular.js:18267: * that content using the `$sce` service. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18268- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18383- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:18384: * The `$render()` method is invoked in the following situations: libjs-angular-schema-form-0.8.13/test/lib/angular.js-18385- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:18386: * * `$rollbackViewValue()` is called. If we are rolling back the view value to the last libjs-angular-schema-form-0.8.13/test/lib/angular.js:18387: * committed value then `$render()` is called to update the input control. libjs-angular-schema-form-0.8.13/test/lib/angular.js:18388: * * The value referenced by `ng-model` is changed programmatically and both the `$modelValue` and libjs-angular-schema-form-0.8.13/test/lib/angular.js:18389: * the `$viewValue` are different to last time. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18390- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:18391: * Since `ng-model` does not do a deep watch, `$render()` is only invoked if the values of libjs-angular-schema-form-0.8.13/test/lib/angular.js:18392: * `$modelValue` and `$viewValue` are actually different to their previous value. If `$modelValue` libjs-angular-schema-form-0.8.13/test/lib/angular.js:18393: * or `$viewValue` are objects (rather than a string or number) then `$render()` will not be libjs-angular-schema-form-0.8.13/test/lib/angular.js-18394- * invoked if you only change a property on the objects. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18405- * For instance, the required directive does this to work out if the input has data or not. libjs-angular-schema-form-0.8.13/test/lib/angular.js:18406: * The default `$isEmpty` function checks whether the value is `undefined`, `''`, `null` or `NaN`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18407- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18445- * This method can be called within $parsers/$formatters. However, if possible, please use the libjs-angular-schema-form-0.8.13/test/lib/angular.js:18446: * `ngModel.$validators` pipeline which is designed to handle validations with true/false values. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18447- * libjs-angular-schema-form-0.8.13/test/lib/angular.js-18448- * @param {string} validationErrorKey Name of the validator. the `validationErrorKey` will assign libjs-angular-schema-form-0.8.13/test/lib/angular.js:18449: * to `$error[validationErrorKey]=!isValid` so that it is available for data-binding. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18450- * The `validationErrorKey` should be in camelCase and will get converted into dash-case libjs-angular-schema-form-0.8.13/test/lib/angular.js-18451- * for class name. Example: `myError` will result in `ng-valid-my-error` and `ng-invalid-my-error` libjs-angular-schema-form-0.8.13/test/lib/angular.js:18452: * class and can be bound to as `{{someForm.someControl.$error.myError}}` . libjs-angular-schema-form-0.8.13/test/lib/angular.js-18453- * @param {boolean} isValid Whether the current state is valid (true) or invalid (false). ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18539- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:18540: * Cancel an update and reset the input element's value to prevent an update to the `$modelValue`, libjs-angular-schema-form-0.8.13/test/lib/angular.js-18541- * which may be caused by a pending debounced event or because the input is waiting for a some ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18544- * If you have an input that uses `ng-model-options` to set up debounced events or events such libjs-angular-schema-form-0.8.13/test/lib/angular.js:18545: * as blur you can have a situation where there is a period when the `$viewValue` libjs-angular-schema-form-0.8.13/test/lib/angular.js:18546: * is out of synch with the ngModel's `$modelValue`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18547- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:18548: * In this case, you can run into difficulties if you try to update the ngModel's `$modelValue` libjs-angular-schema-form-0.8.13/test/lib/angular.js-18549- * programmatically before these debounced/future events have resolved/occurred, because Angular's ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18551- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:18552: * The `$rollbackViewValue()` method should be called before programmatically changing the model of an libjs-angular-schema-form-0.8.13/test/lib/angular.js-18553- * input which may have such events pending. This is important in order to make sure that the ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18632- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:18633: * Commit a pending update to the `$modelValue`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18634- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18701- * If the new `value` is an object (rather than a string or a number), we should make a copy of the libjs-angular-schema-form-0.8.13/test/lib/angular.js:18702: * object before passing it to `$setViewValue`. This is because `ngModel` does not perform a deep libjs-angular-schema-form-0.8.13/test/lib/angular.js-18703- * watch of objects, it only looks for a change of identity. If you only change the property of libjs-angular-schema-form-0.8.13/test/lib/angular.js-18704- * the object then ngModel will not realise that the object has changed and will not invoke the libjs-angular-schema-form-0.8.13/test/lib/angular.js:18705: * `$parsers` and `$validators` pipelines. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18706- * libjs-angular-schema-form-0.8.13/test/lib/angular.js-18707- * For this reason, you should not change properties of the copy once it has been passed to libjs-angular-schema-form-0.8.13/test/lib/angular.js:18708: * `$setViewValue`. Otherwise you may cause the model value on the scope to change incorrectly. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18709- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:18710: * When this method is called, the new `value` will be staged for committing through the `$parsers` libjs-angular-schema-form-0.8.13/test/lib/angular.js:18711: * and `$validators` pipelines. If there are no special {@link ngModelOptions} specified then the staged libjs-angular-schema-form-0.8.13/test/lib/angular.js:18712: * value sent directly for processing, finally to be applied to `$modelValue` and then the libjs-angular-schema-form-0.8.13/test/lib/angular.js-18713- * **expression** specified in the `ng-model` attribute. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18714- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:18715: * Lastly, all the registered change listeners, in the `$viewChangeListeners` list, are called. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18716- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-18722- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:18723: * Note that calling this function does not trigger a `$digest`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-18724- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-19008- * It will not be evaluated: libjs-angular-schema-form-0.8.13/test/lib/angular.js:19009: * * if the value returned from the `$parsers` transformation pipeline has not changed libjs-angular-schema-form-0.8.13/test/lib/angular.js-19010- * * if the input has continued to be invalid since the model will stay `null` ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-19372- * be different than the value in the actual model. This means that if you update the model you libjs-angular-schema-form-0.8.13/test/lib/angular.js:19373: * should also invoke {@link ngModel.NgModelController `$rollbackViewValue`} on the relevant input field in libjs-angular-schema-form-0.8.13/test/lib/angular.js-19374- * order to make sure it is synchronized with the model and that any debounced action is canceled. libjs-angular-schema-form-0.8.13/test/lib/angular.js-19375- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:19376: * The easiest way to reference the control's {@link ngModel.NgModelController `$rollbackViewValue`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-19377- * method is by making sure the input is placed inside a form that has a `name` attribute. This is ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-19509- var that = this; libjs-angular-schema-form-0.8.13/test/lib/angular.js:19510: this.$options = $scope.$eval($attrs.ngModelOptions); libjs-angular-schema-form-0.8.13/test/lib/angular.js-19511- // Allow adding/overriding bound events ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-19662- * element in a secure way. By default, the innerHTML-ed content will be sanitized using the {@link libjs-angular-schema-form-0.8.13/test/lib/angular.js:19663: * ngSanitize.$sanitize $sanitize} service. To utilize this functionality, ensure that `$sanitize` libjs-angular-schema-form-0.8.13/test/lib/angular.js-19664- * is available, for example, by including {@link ngSanitize} in your module's dependencies (not in ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-19668- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:19669: * Note: If a `$sanitize` service is unavailable and the bound value isn't explicitly trusted, you libjs-angular-schema-form-0.8.13/test/lib/angular.js-19670- * will have an exception (instead of an exploit.) ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20183- * `ng-controller="SettingsController1 as settings"` libjs-angular-schema-form-0.8.13/test/lib/angular.js:20184: * * one injects `$scope` into the controller: libjs-angular-schema-form-0.8.13/test/lib/angular.js-20185- * `ng-controller="SettingsController2"` ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20280- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:20281: * This example demonstrates the "attach to `$scope`" style of controller. libjs-angular-schema-form-0.8.13/test/lib/angular.js-20282- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20425-// ngCsp is not implemented as a proper directive any more, because we need it be processed while we libjs-angular-schema-form-0.8.13/test/lib/angular.js:20426:// bootstrap the system (before $parse is instantiated), for this reason we just have libjs-angular-schema-form-0.8.13/test/lib/angular.js-20427-// the csp.isActive() fn that looks for ng-csp attribute anywhere in the current doc ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20439- * @param {expression} ngClick {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20440: * click. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20441- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20497- * @param {expression} ngDblclick {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20498: * a dblclick. (The Event object is available as `$event`) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20499- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20521- * @param {expression} ngMousedown {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20522: * mousedown. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20523- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20545- * @param {expression} ngMouseup {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20546: * mouseup. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20547- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20568- * @param {expression} ngMouseover {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20569: * mouseover. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20570- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20592- * @param {expression} ngMouseenter {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20593: * mouseenter. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20594- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20616- * @param {expression} ngMouseleave {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20617: * mouseleave. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20618- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20640- * @param {expression} ngMousemove {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20641: * mousemove. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20642- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20664- * @param {expression} ngKeydown {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20665: * keydown. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20666- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20686- * @param {expression} ngKeyup {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20687: * keyup. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20688- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20712- * @param {expression} ngKeypress {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20713: * keypress. ({@link guide/expression#-event- Event object is available as `$event`} libjs-angular-schema-form-0.8.13/test/lib/angular.js-20714- * and can be interrogated for keyCode, altKey, etc.) ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20739- * @param {expression} ngSubmit {@link guide/expression Expression} to eval. libjs-angular-schema-form-0.8.13/test/lib/angular.js:20740: * ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20741- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20791- * @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20792: * focus. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20793- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20807- * @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20808: * blur. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20809- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20823- * @param {expression} ngCopy {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20824: * copy. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20825- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20844- * @param {expression} ngCut {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20845: * cut. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20846- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-20865- * @param {expression} ngPaste {@link guide/expression Expression} to evaluate upon libjs-angular-schema-form-0.8.13/test/lib/angular.js:20866: * paste. ({@link guide/expression#-event- Event object is available as `$event`}) libjs-angular-schema-form-0.8.13/test/lib/angular.js-20867- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-21287- * <div class="alert alert-warning"> libjs-angular-schema-form-0.8.13/test/lib/angular.js:21288: * **Note**: If you have assignment in `ngInit` along with {@link ng.$filter `$filter`}, make libjs-angular-schema-form-0.8.13/test/lib/angular.js-21289- * sure you have parenthesis for correct precedence: ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-21595- * instance gets its own scope, where the given loop variable is set to the current collection item, libjs-angular-schema-form-0.8.13/test/lib/angular.js:21596: * and `$index` is set to the item index or key. libjs-angular-schema-form-0.8.13/test/lib/angular.js-21597- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-21601- * |-----------|-----------------|-----------------------------------------------------------------------------| libjs-angular-schema-form-0.8.13/test/lib/angular.js:21602: * | `$index` | {@type number} | iterator offset of the repeated element (0..length-1) | libjs-angular-schema-form-0.8.13/test/lib/angular.js:21603: * | `$first` | {@type boolean} | true if the repeated element is first in the iterator. | libjs-angular-schema-form-0.8.13/test/lib/angular.js:21604: * | `$middle` | {@type boolean} | true if the repeated element is between the first and last in the iterator. | libjs-angular-schema-form-0.8.13/test/lib/angular.js:21605: * | `$last` | {@type boolean} | true if the repeated element is last in the iterator. | libjs-angular-schema-form-0.8.13/test/lib/angular.js:21606: * | `$even` | {@type boolean} | true if the iterator position `$index` is even (otherwise false). | libjs-angular-schema-form-0.8.13/test/lib/angular.js:21607: * | `$odd` | {@type boolean} | true if the iterator position `$index` is odd (otherwise false). | libjs-angular-schema-form-0.8.13/test/lib/angular.js-21608- * ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-21685- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:21686: * For example: `item in items` is equivalent to `item in items track by $id(item)`. This implies that the DOM elements libjs-angular-schema-form-0.8.13/test/lib/angular.js-21687- * will be associated by item identity in the array. ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-21695- * libjs-angular-schema-form-0.8.13/test/lib/angular.js:21696: * For example: `item in items track by $id(item)`. A built in `$id()` function can be used to assign a unique libjs-angular-schema-form-0.8.13/test/lib/angular.js:21697: * `$$hashKey` property to each item in the array. This property is then used as a key to associated DOM elements libjs-angular-schema-form-0.8.13/test/lib/angular.js-21698- * with the corresponding item in the array by identity. Moving the same object in array would move the DOM ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-22396- * For example, **`ng-switch-when="someVal"`** will match against the string `"someVal"` not against the libjs-angular-schema-form-0.8.13/test/lib/angular.js:22397: * value of the expression `$scope.someVal`. libjs-angular-schema-form-0.8.13/test/lib/angular.js-22398- * </div> ############################################## libjs-angular-schema-form-0.8.13/test/lib/angular.js-22655- * @description libjs-angular-schema-form-0.8.13/test/lib/angular.js:22656: * Load the content of a `<script>` element into {@link ng.$templateCache `$templateCache`}, so that the libjs-angular-schema-form-0.8.13/test/lib/angular.js-22657- * template can be used by {@link ng.directive:ngInclude `ngInclude`},