| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/framework7/node_modules/framework7-vue/components/ |
Upload File : |
import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
const _hoisted_1 = ["name", "disabled", "readonly", "checked", "value"];
const _hoisted_2 = /*#__PURE__*/_createElementVNode("span", {
class: "toggle-icon"
}, null, -1);
function render(_ctx, _cache) {
return _openBlock(), _createElementBlock("label", {
ref: "elRef",
class: _normalizeClass(_ctx.classes)
}, [_createElementVNode("input", {
type: "checkbox",
name: _ctx.name,
disabled: _ctx.disabled,
readonly: _ctx.readonly,
checked: _ctx.checked,
value: _ctx.value,
onChange: _cache[0] || (_cache[0] = function () {
return _ctx.onChange && _ctx.onChange(...arguments);
})
}, null, 40, _hoisted_1), _hoisted_2], 2);
}
import { computed, ref, watch, onMounted, onBeforeUnmount } from 'vue';
import { classNames } from '../shared/utils.js';
import { colorClasses, colorProps } from '../shared/mixins.js';
import { f7ready, f7 } from '../shared/f7.js';
import { useTooltip } from '../shared/use-tooltip.js';
export default {
name: 'f7-toggle',
render,
props: {
init: {
type: Boolean,
default: true
},
checked: Boolean,
disabled: Boolean,
readonly: Boolean,
name: String,
value: [String, Number, Array],
tooltip: String,
tooltipTrigger: String,
...colorProps
},
emits: ['change', 'toggle:change', 'update:checked'],
setup(props, _ref) {
let {
emit
} = _ref;
let f7Toggle = null;
const elRef = ref(null);
useTooltip(elRef, props);
const onChange = event => {
emit('change', event);
};
watch(() => props.checked, newValue => {
if (!f7Toggle) return;
f7Toggle.checked = newValue;
});
onMounted(() => {
f7ready(() => {
if (!props.init || !elRef.value) return;
f7Toggle = f7.toggle.create({
el: elRef.value,
on: {
change(toggleInstance) {
emit('toggle:change', toggleInstance.checked);
emit('update:checked', toggleInstance.checked);
}
}
});
});
});
onBeforeUnmount(() => {
if (f7Toggle && f7Toggle.destroy && f7Toggle.$el) {
f7Toggle.destroy();
}
f7Toggle = null;
});
const classes = computed(() => classNames('toggle', {
disabled: props.disabled
}, colorClasses(props)));
return {
classes,
elRef,
f7Toggle,
onChange
};
}
};