PageSourceSearch

https://irunlocal.com/assets/admin/scripts/models/orders.js?v=1.2.0

js irunlocal.com collected 2026-09-29 09:59:25 UTC 7,468 bytes, 274 lines download raw bytes

1
2var orders = {
3	data: [],
4	order: {
5		data: null,
6		shipping: null,
7		items: null,
8		billing: null,
9		member: null
10	},
11	total: 0,
12	filter: {
13		search: "",
14		size: 25, 
15		page: 1,
16		option: "",
17		status: "",
18		member: -1, 
19		sort: "dateOrdered",
20		sortType: "desc"
21	},
22	get: function(searchFor, searchType) {
23		service.call("orders", orders.filter, orders.getReturned);
24	},
25	export: function(callback) {
26		fetch('/api/orders/export')
27			.then(response => {
28				if (!response.ok) throw new Error('Export failed');
29				return response.blob();
30			})
31			.then(blob => {
32				var a = document.createElement('a');
33				a.href = window.URL.createObjectURL(blob);
34				a.download = "Orders.csv";
35				document.body.appendChild(a);
36				a.click();
37				document.body.removeChild(a);
38				window.URL.revokeObjectURL(a.href);
39				if (callback) callback(true);
40			})
41			.catch(error => {
42				console.error('Export error:', error);
43				if (callback) callback(false, error);
44			});
45	},
46	exportItems: function(callback) {
47		fetch('/api/orders/exportItems')
48			.then(response => {
49				if (!response.ok) throw new Error('Export failed');
50				return response.blob();
51			})
52			.then(blob => {
53				var a = document.createElement('a');
54				a.href = window.URL.createObjectURL(blob);
55				a.download = "OrderItems.csv";
56				document.body.appendChild(a);
57				a.click();
58				document.body.removeChild(a);
59				window.URL.revokeObjectURL(a.href);
60				if (callback) callback(true);
61			})
62			.catch(error => {
63				console.error('Export items error:', error);
64				if (callback) callback(false, error);
65			});
66	},
67	exportRelay: function(callback) {
68		fetch('/api/orders/exportRelay')
69			.then(response => {
70				if (!response.ok) throw new Error('Export failed');
71				return response.blob();
72			})
73			.then(blob => {
74				var a = document.createElement('a');
75				a.href = window.URL.createObjectURL(blob);
76				a.download = "RelayOrders.csv";
77				document.body.appendChild(a);
78				a.click();
79				document.body.removeChild(a);
80				window.URL.revokeObjectURL(a.href);
81				if (callback) callback(true);
82			})
83			.catch(error => {
84				console.error('Export relay error:', error);
85				if (callback) callback(false, error);
86			});
87	},
88	getMine: function() {
89		orders.filter.member = user.data.memberId;
90		orders.filter.size = 1000;
91		orders.filter.sortType = "desc";
92		service.call("orders", orders.filter, orders.getReturned);
93	},
94	pending: function() {
95		orders.filter.status = "unfulfilled";
96		service.call("orders", orders.filter, orders.getReturned);
97	},
98	getReturned: function(e) {
99		if (e.error) growler.error(e.error);
100		else {
101			orders.data = e.data;
102			orders.total = e.total;
103			context.set("orders", orders.data);
104		}
105	},
106	save: function() {
107		
108	},
109	saveReturned: function(e) {
110		if (e.error) growler.error(e.error);
111		else {
112			orders.data = e;
113			context.set("orders", orders.data);
114		}
115	},
116	sendReceipt: function(id) {
117		var params = {};
118		params.id = id;
119		service.call("sendReceipt", params, orders.receiptSent);
120	},
121	sendGiftcard: function(orderItemId) {
122		var params = {};
123		params.item = orderItemId;
124		$('.loading-modal').show();
125		service.call("order/card", params, orders.giftcardSent);
126	},
127	giftcardSent: function(e) {
128		$('.loading-modal').hide();
129		growler.success("Giftcard has been sent.");
130	},
131	receiptSent: function(e) {
132		growler.success("Receipt has been sent.");
133	},
134	ship: function(company, tracking, notes, id) {
135		var params = orders.filter;
136		params.company = company; 
137		params.tracking = tracking;
138		params.notes = notes;
139		params.id = id;
140		if (page.shipped) {
141			service.call("ship", params, page.shipped);
142		} else {
143			service.call("ship", params, orders.getReturned);
144		}
145	},
146	shipBulk: function(company, tracking, notes, ids) {
147		$(".loader").addClass("open");
148		var params = orders.filter;
149		params.company = company;
150		params.tracking = tracking;
151		params.notes = notes;
152		params.ids = ids;
153		service.call("shipBulk", params, (result) => {
154			$(".loader").removeClass("open");
155			orders.getReturned(result);
156			growler.success("Orders marked as fulfilled.");
157		});
158	},
159	archive: function(ids) {
160		var params = orders.filter;
161		params.ids = ids;
162		service.call("order/archive", params, orders.getReturned, "DELET
162E");
163	},
164	delete: function(ids) {
165		var params = orders.filter; 
166		params.ids = ids;
167		service.call("order/delete", params, orders.getReturned, "DELETE");
168	},
169	details: function(id) {
170		for (var i=0; i<orders.data.length; i++) {
171			if (id==orders.data[i].orderId) {
172				orders.order.data = orders.data[i];
173				return orders.data[i];
174			}
175		}
176		return null;
177	},
178	getShipping: function(id) {
179		service.call("getAddress", { id: id }, orders.shippingReturned);
180	},
181	shippingReturned: function(e) {
182		if (e.error) growler.error(e.error);
183		else {
184			orders.order.shipping = e;
185			context.set("shipping", e);
186		}
187	},
188	getBilling: function(id) {
189		service.call("getAddress", { id: id }, orders.billingReturned);
190	},
191	billingReturned: function(e) {
192		if (e.error) growler.error(e.error);
193		else {
194			orders.order.billing = e;
195			context.set("billing", e);
196		}
197	},
198	setStatus: function(id, status, notes) {
199		var params = {
200			id: id,
201			status: status,
202			notes: notes
203		};
204		if (page.statusReturned) {
205			service.call("order/status", params, page.statusReturned);
206		} else {
207			service.call("order/status", params, orders.statusSaved);
208		}
209	},
210	statusSaved: function(e) {
211		if (e.error) growler.error(e.error);
212		else growler.success("Order Information Saved");
213	},
214	getMember: function(id) {
215		var params = orders.filter;
216		params.member = id;
217		service.call("member", params, orders.memberReturned);
218	},
219	memberReturned: function(e) {
220		if (e.error) growler.error(e.error);
221		else {
222			orders.order.member = e;
223			context.set("orderMember", e);
224		}
225	},
226	getItems: function(id) {
227		service.call("orderItems", { order: id }, orders.itemsReturned);
228	},
229	itemsReturned: function(e) {
230		if (e.error) growler.error(e.error);
231		else {
232			orders.order.items = e.data;
233			context.set("orderItems", e.data);
234			$(".loader").removeClass("open");
235		}
236	},
237	next: function() {
238		if (!isLast()) orders.filter.page++;
239		else orders.filter.page = 1;
240		orders.get();
241	},
242	prev: function() {
243		if (orders.filter.page>1) orders.filter.page--;
244		else orders.filter.page = Math.ceil(orders.total/orders.filter.size);
245		orders.get();
246	},
247	isLast: function() {
248		return (orders.total<=(orders.filter.page*orders.filter.size));
249	},
250	isFirst: function() {
251		return orders.filter.page==1;
252	},
253	pageTotal: function() {
254		return Math.ceil(orders.total/orders.filter.size);
255	},
256	goto: function(page) {
257		if (page<=orders.pageTotal()&&page>=1) {
258			orders.filter.page = page;
259			orders.get();
260		} 
261	},
262	createShippoBatch: function(orderItems, callback) {
263		service.call("orders/shippo/create", {orderItems}, callback);
264	},
265	createShippingEasyBatch: function(orderItems, callback) {
266		service.call("orders/shipping-easy/create", {orderItems}, callback);
267	},
268	createShipWorksBatch: function(orderItems, callback) {
269		service.call("orders/ship-works/create", {orderItems}, callback);
270	},
271	createShipStationBatch: function(orderItems, callback) {
272		service.call("orders/ship-station/create", {orderItems}, callback);
273	}
274}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.