This commit is contained in:
darenhsu
2022-07-17 13:16:16 +08:00
parent 84759556ff
commit befd344ab0
28070 changed files with 4008428 additions and 1 deletions
+47
View File
@@ -0,0 +1,47 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.factory = factory;
exports.default = void 0;
var _vue = _interopRequireDefault(require("vue"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function factory() {
var _watch;
var prop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'value';
var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'input';
return _vue.default.extend({
name: 'toggleable',
model: {
prop: prop,
event: event
},
props: _defineProperty({}, prop, {
required: false
}),
data: function data() {
return {
isActive: !!this[prop]
};
},
watch: (_watch = {}, _defineProperty(_watch, prop, function (val) {
this.isActive = !!val;
}), _defineProperty(_watch, "isActive", function isActive(val) {
!!val !== this[prop] && this.$emit(event, val);
}), _watch)
});
}
/* eslint-disable-next-line no-redeclare */
var Toggleable = factory();
var _default = Toggleable;
exports.default = _default;
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"sources":["../../../src/mixins/toggleable/index.ts"],"names":[],"mappings":";;;;;;;;AAAA;;;;;;AAMM,SAAU,OAAV,GAAkD;AAAA;;AAAA,MAA/B,IAA+B,uEAAxB,OAAwB;AAAA,MAAf,KAAe,uEAAP,OAAO;AACtD,SAAO,aAAI,MAAJ,CAAW;AAChB,IAAA,IAAI,EAAE,YADU;AAGhB,IAAA,KAAK,EAAE;AAAE,MAAA,IAAI,EAAJ,IAAF;AAAQ,MAAA,KAAK,EAAL;AAAR,KAHS;AAKhB,IAAA,KAAK,sBACF,IADE,EACK;AAAE,MAAA,QAAQ,EAAE;AAAZ,KADL,CALW;AAShB,IAAA,IATgB,kBASZ;AACF,aAAO;AACL,QAAA,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAL;AADP,OAAP;AAGD,KAbe;AAehB,IAAA,KAAK,wCACF,IADE,YACK,GADL,EACQ;AACT,WAAK,QAAL,GAAgB,CAAC,CAAC,GAAlB;AACD,KAHE,yDAIO,GAJP,EAIU;AACX,OAAC,CAAC,GAAF,KAAU,KAAK,IAAL,CAAV,IAAwB,KAAK,KAAL,CAAW,KAAX,EAAkB,GAAlB,CAAxB;AACD,KANE;AAfW,GAAX,CAAP;AAwBD;AAED;;;AACA,IAAM,UAAU,GAAG,OAAO,EAA1B;eAEe,U","sourcesContent":["import Vue, { VueConstructor } from 'vue'\n\n/* eslint-disable-next-line no-use-before-define */\nexport type Toggleable<T extends string = 'value'> = VueConstructor<Vue & { isActive: boolean } & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Toggleable<T>\nexport function factory (prop = 'value', event = 'input') {\n return Vue.extend({\n name: 'toggleable',\n\n model: { prop, event },\n\n props: {\n [prop]: { required: false },\n },\n\n data () {\n return {\n isActive: !!this[prop],\n }\n },\n\n watch: {\n [prop] (val) {\n this.isActive = !!val\n },\n isActive (val) {\n !!val !== this[prop] && this.$emit(event, val)\n },\n },\n })\n}\n\n/* eslint-disable-next-line no-redeclare */\nconst Toggleable = factory()\n\nexport default Toggleable\n"],"sourceRoot":"","file":"index.js"}