gumga-controller-ng
Version:
Gumga Controller
1 lines • 8.32 kB
JavaScript
!function(e){function t(r){if(a[r])return a[r].exports;var n=a[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var a={};t.m=e,t.c=a,t.i=function(e){return e},t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,a){"use strict";!function(){function e(e,t,a,r){var n=this;this.and=this,this.data=[],this.page=1,this.pageSize=10,this.count=0,this.records=[],this.pageModel=r,this.container=a,this.identifierOrConfiguration=t,this.storage={set:function(e,a){sessionStorage.setItem(t+"-"+e,a)},get:function(e){return sessionStorage.getItem(t+"-"+e)}},this.setPageInContainer=function(){if(!n.container[r]){var e=parseInt(n.storage.get("page")||n.page);n.container[r]=e}},this.handlingStorage=function(e,t,a,r,o){return e||(e=parseInt(n.storage.get("page")||n.page)),t||(t=parseInt(n.storage.get("pageSize")||n.pageSize)),a||(a=n.storage.get("field")),r||(r=n.storage.get("way")),o||(o=""),n.storage.set("page",e||n.page),n.storage.set("pageSize",t||n.pageSize),n.storage.set("field",a),n.storage.set("way",r),n.storage.set("param",o),{page:e,pageSize:t,field:a,way:r,param:o}},this.methods={getLatestOperation:function(){n.setPageInContainer();var e=n.storage.get("last-operation");switch(e||n.methods.get(n.storage.get("page"),n.storage.get("pageSize")),e){case"get":n.methods.get(n.storage.get("page"),n.storage.get("pageSize"));break;case"sort":n.methods.sort(n.storage.get("field"),n.storage.get("way"),n.storage.get("pageSize"));break;case"search":n.methods.search(n.storage.get("field"),n.storage.get("param"),n.storage.get("pageSize"),n.storage.get("page"));break;case"asyncSearch":n.methods.asyncSearch(n.storage.get("field"),n.storage.get("param"));break;case"advancedSearch":n.methods.advancedSearch(JSON.parse(n.storage.get("param")),n.storage.get("pageSize"),n.storage.get("page"));break;default:n.methods.get(n.storage.get("page"),n.storage.get("pageSize"))}},getRecords:function(){return n.records},asyncSearch:function(t,a){n.handlingStorage(void 0,void 0,t,void 0,a);return n.storage.set("last-operation","asyncSearch"),e.getSearch(t,a).then(function(e){return n.storage.set("pageSize",e.data.pageSize),e.data.values})},asyncPost:function(t,a){return n.emit("asyncPostStart"),e.save(t)},get:function(t,a){a||(a=n.pageSize),t||(t=n.page);n.handlingStorage(t,a);return n.storage.set("last-operation","get"),n.emit("getStart"),e.get(t,a).then(function(e){n.emit("getSuccess",e.data),n.data=e.data.values,n.pageSize=e.data.pageSize,n.storage.set("pageSize",e.data.pageSize),n.count=e.data.count,n.data.map(function(e){return n.records.push(e.id)})},function(e){n.emit("getError",e)}),n},getId:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return n.emit("getIdStart"),e.getById(t).then(function(e){n.emit("getIdSuccess",e.data),n.data=e.data,n.pageSize&&delete n.pageSize,n.count&&delete n.count},function(e){n.emit("getIdError",e)}),n},getNew:function(){return n.emit("getNewStart"),e.getNew().then(function(e){n.emit("getNewSuccess",e.data),n.data=e.data,n.pageSize&&delete n.pageSize,n.count&&delete n.count},function(e){n.emit("getNewError",e)}),n},put:function(t){return n.emit("putStart"),e.update(t).then(function(e){n.emit("putSuccess",e)},function(e){n.emit("putError",e)}),n},post:function(t){return n.emit("postStart"),e.save(t).then(function(e){n.emit("postSuccess",e)},function(e){n.emit("postError",e)}),n},delete:function(t){return n.emit("deleteStart"),e.deleteCollection(t).then(function(e){n.emit("deleteSuccess",e)},function(e){n.emit("deleteError",e)}),n},sort:function(t,a,r){r||(r=n.pageSize);var o=n.handlingStorage(void 0,r,t,a),i=o.page;return n.storage.set("last-operation","sort"),n.emit("sortStart"),e.sort(t,a,r,i).then(function(e){n.emit("sortSuccess",e.data),n.data=e.data.values,n.pageSize=e.data.pageSize,n.count=e.data.count,n.storage.set("pageSize",e.data.pageSize)},function(e){n.emit("sortError",e)}),n},search:function(t,a,r,o){r||(r=n.pageSize),o||(o=n.page);n.handlingStorage(o,r,t,void 0,a);return n.storage.set("last-operation","search"),n.emit("searchStart"),e.getSearch(t,a,r,o).then(function(e){n.emit("searchSuccess",e.data),n.data=e.data.values,n.pageSize=e.data.pageSize,n.count=e.data.count,n.storage.set("pageSize",e.data.pageSize)},function(e){n.emit("searchError",e)}),n},advancedSearch:function(t,a,r){a||(a=n.pageSize),r||(r=n.page);n.handlingStorage(r,a,void 0,void 0,JSON.stringify(t));return n.storage.set("last-operation","advancedSearch"),n.emit("advancedSearchStart"),e.getAdvancedSearch(t,a,r).then(function(e){n.emit("advancedSearchSuccess",e.data),n.data=e.data.values,n.pageSize=e.data.pageSize,n.count=e.data.count,n.storage.set("pageSize",e.data.pageSize)},function(e){n.emit("advancedSearchError",e)}),n},searchWithGQuery:function(t,a,r){return r||(r=n.pageSize),a||(a=n.page),n.lastGQuery=t,n.emit("searchWithGQueryStart"),e.searchWithGQuery(t,a,r).then(function(e){n.emit("searchWithGQuerySuccess",e.data),n.data=e.data.values,n.pageSize=e.data.pageSize,n.count=e.data.count},function(e){n.emit("searchWithGQueryError",e)}),n},redoSearch:function(){return n.emit("redoSearchStart"),e.redoSearch().then(function(e){n.emit("redoSearchSuccess",e.data),n.data=e.data.values,n.pageSize=e.data.pageSize,n.count=e.data.count},function(e){n.emit("redoSearchError",e)}),n},postQuery:function(t,a){return n.emit("postQueryStart"),e.saveQuery({query:t,name:a}).then(function(e){n.emit("postQuerySuccess")},function(e){n.emit("postQueryError",e)}),n},getQuery:function(t){return t||(t=n.page),n.emit("getQueryStart"),e.getQuery(t).then(function(e){return n.emit("getQuerySuccess",e.data),e.data.values},function(e){n.emit("getQueryError",e)})},postImage:function(t,a){return n.emit("postImageStart"),e.saveImage(t,a).then(function(e){return n.emit("postImageSuccess"),e},function(e){n.emit("postImageError",e)})},deleteImage:function(t,a){return n.emit("deleteImageStart"),e.deleteImage(t,a).then(function(e){n.emit("deleteImageSuccess")},function(e){n.emit("deleteImageError",e)}),n},reset:function(){return n.emit("resetStart"),e.resetDefaultState(),n},getAvailableTags:function(){return n.emit("getAvailableTagsStart"),e.getAvailableTags()},getSelectedTags:function(t){return n.emit("getSelectedTagsStart"),e.getSelectedTags(t)},postTags:function(t,a){n.emit("postTagStart",a),e.postTags(t,a).then(function(e){n.emit("postTagSuccess",a)},function(e){n.emit("postTagError",a)})},getDocumentationURL:function(){return n.emit("getDocumentationURLStart"),e.getDocumentationURL()}}}function t(){function t(t,a,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"page",o=r.constructor;if(!t)throw"É necessário passar um objeto no primeiro parâmetro";if(!a)throw"É necessário passar um objeto no segundo parâmetro";if(o!==Object&&o!==String)throw"É necessário passar um objeto ou uma string no terceiro parâmetro";var i=this._createOptions(r);if(i.noScope)return new e(a,r,t,n);t[i.identifier]=new e(a,r,t,n)}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e.constructor===String)return{identifier:e,noScope:!1};var t=angular.extend({},e);if(t.noScope=!!t.noScope,!t.identifier)throw"Você precisa passar um identificador para o objeto de configuração do createRestMethods!";return t}return{createRestMethods:t,_createOptions:a}}e.prototype.callbacks={},e.prototype.and=this,e.prototype.emit=function(e,t){return this.callbacks[e]&&this.callbacks[e].forEach(function(e){e(t)}),this},e.prototype.on=function(e,t){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t),this},e.prototype.execute=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e.constructor!==String)throw"O primeiro parâmetro deve ser uma string!";if(this.methods[e]){for(var t,a=arguments.length,r=Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];return(t=this.methods)[e].apply(t,r),this}throw"O nome do método está errado! Por favor coloque um método que está no GumgaController"},t.$inject=[],angular.module("gumga.controller",[]).factory("gumgaController",t)}()}]);