Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*global angular */
- String.prototype.replaceAll = function(search, replacement) {
- var target = this;
- return target.replace(new RegExp(search, 'g'), replacement);
- };
- /**
- * The main HPR(Hamparan Plastindo Raya) app module
- *
- * @type {angular.Module}
- */
- var hprApp = angular.module('hprApp', ['ngResource']);
- var apiPrefix = '/api/';
- hprApp.factory('ApiFactory', function($resource) {
- var temp = {
- Item: $resource("/api/item/:id"),
- Customer: $resource("/api/customer/:id"),
- Order: $resource("/api/order/:id"),
- OrderDetail: $resource("/api/order_detail/:id", {}, {
- delete: {method: 'GET', url: "/api/order_detail/delete/:id"},
- getByOrderId: {method:'GET',
- url: "/api/order_detail/get_by_order_id/:order_id", isArray:true}
- })
- };
- return temp;
- });
- hprApp.service('ItemService', function(ApiFactory) {
- this.createEmptyJson = function() {
- return {
- id: null,
- name: null,
- qty: null,
- price: null
- };
- }
- });
- // Directive
- hprApp.directive('ngCurrencyInput', function($filter, $browser) {
- return {
- require: 'ngModel',
- link: function($scope, $element, $attrs, ngModelCtrl) {
- var listener = function() {
- var value = $element.val().replace(/,/g, '')
- $element.val($filter('number')(value, false))
- }
- // This runs when we update the text field
- ngModelCtrl.$parsers.push(function(viewValue) {
- return viewValue.replace(/,/g, '');
- })
- // This runs when the model gets updated on the scope directly and keeps our view in sync
- ngModelCtrl.$render = function() {
- $element.val($filter('number')(ngModelCtrl.$viewValue, false))
- }
- $element.bind('change', listener)
- $element.bind('keydown', function(event) {
- var key = event.keyCode
- // If the keys include the CTRL, SHIFT, ALT, or META keys, or the arrow keys, do nothing.
- // This lets us support copy and paste too
- if (key == 91 || (15 < key && key < 19) || (37 <= key && key <= 40))
- return
- $browser.defer(listener) // Have to do this or changes don't get picked up properly
- })
- $element.bind('paste cut', function() {
- $browser.defer(listener)
- })
- }
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement