mirror of
https://gitee.com/vant-contrib/vant-weapp.git
synced 2025-04-06 03:58:05 +08:00
80 lines
2.0 KiB
JavaScript
80 lines
2.0 KiB
JavaScript
'use strict';
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
exports.useChildren = exports.useParent = void 0;
|
|
function useParent(name, onEffect) {
|
|
var _a;
|
|
var path = '../' + name + '/index';
|
|
return {
|
|
relations:
|
|
((_a = {}),
|
|
(_a[path] = {
|
|
type: 'ancestor',
|
|
linked: function () {
|
|
onEffect && onEffect.call(this);
|
|
},
|
|
linkChanged: function () {
|
|
onEffect && onEffect.call(this);
|
|
},
|
|
unlinked: function () {
|
|
onEffect && onEffect.call(this);
|
|
},
|
|
}),
|
|
_a),
|
|
mixin: Behavior({
|
|
created: function () {
|
|
var _this = this;
|
|
Object.defineProperty(this, 'parent', {
|
|
get: function () {
|
|
return _this.getRelationNodes(path)[0];
|
|
},
|
|
});
|
|
Object.defineProperty(this, 'index', {
|
|
// @ts-ignore
|
|
get: function () {
|
|
var _a, _b;
|
|
return (_b =
|
|
(_a = _this.parent) === null || _a === void 0
|
|
? void 0
|
|
: _a.children) === null || _b === void 0
|
|
? void 0
|
|
: _b.indexOf(_this);
|
|
},
|
|
});
|
|
},
|
|
}),
|
|
};
|
|
}
|
|
exports.useParent = useParent;
|
|
function useChildren(name, onEffect) {
|
|
var _a;
|
|
var path = '../' + name + '/index';
|
|
return {
|
|
relations:
|
|
((_a = {}),
|
|
(_a[path] = {
|
|
type: 'descendant',
|
|
linked: function (target) {
|
|
onEffect && onEffect.call(this, target);
|
|
},
|
|
linkChanged: function (target) {
|
|
onEffect && onEffect.call(this, target);
|
|
},
|
|
unlinked: function (target) {
|
|
onEffect && onEffect.call(this, target);
|
|
},
|
|
}),
|
|
_a),
|
|
mixin: Behavior({
|
|
created: function () {
|
|
var _this = this;
|
|
Object.defineProperty(this, 'children', {
|
|
get: function () {
|
|
return _this.getRelationNodes(path) || [];
|
|
},
|
|
});
|
|
},
|
|
}),
|
|
};
|
|
}
|
|
exports.useChildren = useChildren;
|