UNPKG

e-lado

Version:

[![CircleCI](https://circleci.com/gh/sharetribe/sharetribe/tree/master.svg?style=svg)](https://circleci.com/gh/sharetribe/sharetribe/tree/master) [![Dependency Status](https://gemnasium.com/sharetribe/sharetribe.png)](https://gemnasium.com/sharetribe/shar

83 lines (71 loc) 2.37 kB
/** Add click handlers for the select/clear all links. */ window.ST.initializeCategoriesSelectionClickHandlers = function() { $(".select-all").click(function() { $(".category-listing-shape-checkbox").prop("checked", true); }); $(".deselect-all").click(function() { $(".category-listing-shape-checkbox").prop("checked", false); }); }; /** Category order manager */ window.ST.initializeCategoriesOrder = function() { var fieldMap = $(".top-level-category-container").map(function(id, row) { return { id: $(row).data("id"), element: $(row), up: $(row).find(".top-level-category-row").find(".category-action-up"), down: $(row).find(".top-level-category-row").find(".category-action-down"), }; }).get(); var topLevelChanges = window.ST.orderManager(fieldMap).order; var subLevelChanges = $(".top-level-category-container").get().map(function(topLevelContainer) { var subFieldMap = $(".sub-category-row", topLevelContainer).map(function(id, row) { return { id: $(row).data("id"), element: $(row), up: $(".category-action-up", row), down: $(".category-action-down", row) }; }).get(); return window.ST.orderManager(subFieldMap).order; }); var allChanges = [topLevelChanges].concat(subLevelChanges); var ajaxRequest = Bacon.combineAsArray(allChanges).changes() .debounce(800) .map(function(orders) { var onlyOrders = orders.map(function(obj) { return obj.order; }); return _.flatten(onlyOrders); }) .skipDuplicates(_.isEqual) .map(function(order) { return { type: "POST", url: ST.utils.relativeUrl("order"), data: { order: order } }; }); var ajaxResponse = ajaxRequest.ajax(); var ajaxStatus = window.ST.ajaxStatusIndicator(ajaxRequest, ajaxResponse); ajaxStatus.loading.onValue(function() { $("#category-ajax-saving").show(); $("#category-ajax-error").hide(); $("#category-ajax-success").hide(); }); ajaxStatus.success.onValue(function() { $("#category-ajax-saving").hide(); $("#category-ajax-success").show(); }); ajaxStatus.error.onValue(function() { $("#category-ajax-saving").hide(); $("#category-ajax-error").show(); }); ajaxStatus.idle.onValue(function() { $("#category-ajax-success").fadeOut(); }); };