1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- function setAsync(context, data) {
- return new Promise(function (resolve) {
- context.setData(data, resolve);
- });
- }
- exports.behavior = Behavior({
- created: function created() {
- var _this = this;
- if (!this.$options) {
- return;
- }
- var cache = {};
- var computed = this.$options().computed;
- var keys = Object.keys(computed);
- this.calcComputed = function () {
- var needUpdate = {};
- keys.forEach(function (key) {
- var value = computed[key].call(_this);
- if (cache[key] !== value) {
- cache[key] = value;
- needUpdate[key] = value;
- }
- });
- return needUpdate;
- };
- },
- attached: function attached() {
- this.set();
- },
- methods: {
- // set data and set computed data
- set: function set(data, callback) {
- var _this = this;
- var stack = [];
- if (data) {
- stack.push(setAsync(this, data));
- }
- if (this.calcComputed) {
- stack.push(setAsync(this, this.calcComputed()));
- }
- return Promise.all(stack).then(function (res) {
- if (callback && typeof callback === 'function') {
- callback.call(_this);
- }
- return res;
- });
- }
- }
- });
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlaGF2aW9yLmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29udGV4dCIsImV4cG9ydHMiLCJjcmVhdGVkIiwiX3RoaXMiLCJjYWNoZSIsImNvbXB1dGVkIiwia2V5cyIsIm5lZWRVcGRhdGUiLCJhdHRhY2hlZCIsIm1ldGhvZHMiLCJzZXQiLCJzdGFjayIsInNldEFzeW5jIiwiY2FsbGJhY2siXSwibWFwcGluZ3MiOiI7O0FBQ0FBLE9BQUFBLGNBQUFBLENBQUFBLE9BQUFBLEVBQUFBLFlBQUFBLEVBQTZDLEVBQUVDLE9BQS9DRCxJQUE2QyxFQUE3Q0E7QUFDQSxTQUFBLFFBQUEsQ0FBQSxPQUFBLEVBQUEsSUFBQSxFQUFpQztBQUM3QixXQUFPLElBQUEsT0FBQSxDQUFZLFVBQUEsT0FBQSxFQUFtQjtBQUNsQ0UsZ0JBQUFBLE9BQUFBLENBQUFBLElBQUFBLEVBQUFBLE9BQUFBO0FBREosS0FBTyxDQUFQO0FBR0g7QUFDREMsUUFBQUEsUUFBQUEsR0FBbUIsU0FBUztBQUN4QkMsYUFBUyxTQUFBLE9BQUEsR0FBWTtBQUNqQixZQUFJQyxRQUFKLElBQUE7QUFDQSxZQUFJLENBQUMsS0FBTCxRQUFBLEVBQW9CO0FBQ2hCO0FBQ0g7QUFDRCxZQUFJQyxRQUFKLEVBQUE7QUFDQSxZQUFJQyxXQUFXLEtBQUEsUUFBQSxHQUFmLFFBQUE7QUFDQSxZQUFJQyxPQUFPUixPQUFBQSxJQUFBQSxDQUFYLFFBQVdBLENBQVg7QUFDQSxhQUFBLFlBQUEsR0FBb0IsWUFBWTtBQUM1QixnQkFBSVMsYUFBSixFQUFBO0FBQ0FELGlCQUFBQSxPQUFBQSxDQUFhLFVBQUEsR0FBQSxFQUFlO0FBQ3hCLG9CQUFJUCxRQUFRTSxTQUFBQSxHQUFBQSxFQUFBQSxJQUFBQSxDQUFaLEtBQVlBLENBQVo7QUFDQSxvQkFBSUQsTUFBQUEsR0FBQUEsTUFBSixLQUFBLEVBQTBCO0FBQ3RCQSwwQkFBQUEsR0FBQUEsSUFBQUEsS0FBQUE7QUFDQUcsK0JBQUFBLEdBQUFBLElBQUFBLEtBQUFBO0FBQ0g7QUFMTEQsYUFBQUE7QUFPQSxtQkFBQSxVQUFBO0FBVEosU0FBQTtBQVRvQixLQUFBO0FBcUJ4QkUsY0FBVSxTQUFBLFFBQUEsR0FBWTtBQUNsQixhQUFBLEdBQUE7QUF0Qm9CLEtBQUE7QUF3QnhCQyxhQUFTO0FBQ0w7QUFDQUMsYUFBSyxTQUFBLEdBQUEsQ0FBQSxJQUFBLEVBQUEsUUFBQSxFQUEwQjtBQUMzQixnQkFBSVAsUUFBSixJQUFBO0FBQ0EsZ0JBQUlRLFFBQUosRUFBQTtBQUNBLGdCQUFBLElBQUEsRUFBVTtBQUNOQSxzQkFBQUEsSUFBQUEsQ0FBV0MsU0FBQUEsSUFBQUEsRUFBWEQsSUFBV0MsQ0FBWEQ7QUFDSDtBQUNELGdCQUFJLEtBQUosWUFBQSxFQUF1QjtBQUNuQkEsc0JBQUFBLElBQUFBLENBQVdDLFNBQUFBLElBQUFBLEVBQWUsS0FBMUJELFlBQTBCLEVBQWZDLENBQVhEO0FBQ0g7QUFDRCxtQkFBTyxRQUFBLEdBQUEsQ0FBQSxLQUFBLEVBQUEsSUFBQSxDQUF3QixVQUFBLEdBQUEsRUFBZTtBQUMxQyxvQkFBSUUsWUFBWSxPQUFBLFFBQUEsS0FBaEIsVUFBQSxFQUFnRDtBQUM1Q0EsNkJBQUFBLElBQUFBLENBQUFBLEtBQUFBO0FBQ0g7QUFDRCx1QkFBQSxHQUFBO0FBSkosYUFBTyxDQUFQO0FBTUg7QUFqQkk7QUF4QmUsQ0FBVCxDQUFuQloiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmZ1bmN0aW9uIHNldEFzeW5jKGNvbnRleHQsIGRhdGEpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgY29udGV4dC5zZXREYXRhKGRhdGEsIHJlc29sdmUpO1xuICAgIH0pO1xufVxuZXhwb3J0cy5iZWhhdmlvciA9IEJlaGF2aW9yKHtcbiAgICBjcmVhdGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIGlmICghdGhpcy4kb3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjYWNoZSA9IHt9O1xuICAgICAgICB2YXIgY29tcHV0ZWQgPSB0aGlzLiRvcHRpb25zKCkuY29tcHV0ZWQ7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoY29tcHV0ZWQpO1xuICAgICAgICB0aGlzLmNhbGNDb21wdXRlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBuZWVkVXBkYXRlID0ge307XG4gICAgICAgICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGNvbXB1dGVkW2tleV0uY2FsbChfdGhpcyk7XG4gICAgICAgICAgICAgICAgaWYgKGNhY2hlW2tleV0gIT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgbmVlZFVwZGF0ZVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gbmVlZFVwZGF0ZTtcbiAgICAgICAgfTtcbiAgICB9LFxuICAgIGF0dGFjaGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuc2V0KCk7XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIC8vIHNldCBkYXRhIGFuZCBzZXQgY29tcHV0ZWQgZGF0YVxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChkYXRhLCBjYWxsYmFjaykge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHZhciBzdGFjayA9IFtdO1xuICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICBzdGFjay5wdXNoKHNldEFzeW5jKHRoaXMsIGRhdGEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmNhbGNDb21wdXRlZCkge1xuICAgICAgICAgICAgICAgIHN0YWNrLnB1c2goc2V0QXN5bmModGhpcywgdGhpcy5jYWxjQ29tcHV0ZWQoKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHN0YWNrKS50aGVuKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgJiYgdHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLmNhbGwoX3RoaXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiJdLCJmaWxlIjoiYmVoYXZpb3IuanMifQ==
|