UNPKG

zmp-vue

Version:

Build full featured iOS & Android apps using ZMP & Vue

381 lines (371 loc) 8.12 kB
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from "vue"; function render(_ctx, _cache) { var _component_routable_modals = _resolveComponent("routable-modals"); return _openBlock(), _createBlock("div", { id: "zmp-root", ref: "elRef", class: _ctx.classes }, [_renderSlot(_ctx.$slots, "default"), _createVNode(_component_routable_modals)], 2); } import { ref, onMounted, computed, toRaw } from 'vue'; import { classNames, noUndefinedProps } from '../shared/utils'; import { colorClasses, colorProps } from '../shared/mixins'; import RoutableModals from './routable-modals'; import { zmpinit, zmp } from '../shared/zmp'; export default { name: 'zmp-app', render: render, components: { RoutableModals: RoutableModals }, inheritAttrs: false, props: _extends({ id: { type: String, default: undefined }, name: { type: String, default: undefined }, version: { type: String, default: undefined }, theme: { type: String, default: undefined }, language: { type: String, default: undefined }, routes: { type: Array, default: function _default() { return []; } }, store: Object, autoDarkTheme: { type: Boolean, default: undefined }, lazyModulesPath: { type: String, default: undefined }, initOnDeviceReady: { type: Boolean, default: undefined }, iosTranslucentBars: { type: Boolean, default: undefined }, iosTranslucentModals: { type: Boolean, default: undefined }, userAgent: { type: String, default: undefined }, url: { type: String, default: undefined }, // components accordion: { type: Object, default: function _default() { return undefined; } }, actions: { type: Object, default: function _default() { return undefined; } }, areaChart: { type: Object, default: function _default() { return undefined; } }, autocomplete: { type: Object, default: function _default() { return undefined; } }, calendar: { type: Object, default: function _default() { return undefined; } }, card: { type: Object, default: function _default() { return undefined; } }, colorPicker: { type: Object, default: function _default() { return undefined; } }, dialog: { type: Object, default: function _default() { return undefined; } }, form: { type: Object, default: function _default() { return undefined; } }, gauge: { type: Object, default: function _default() { return undefined; } }, grid: { type: Object, default: function _default() { return undefined; } }, infiniteScroll: { type: Object, default: function _default() { return undefined; } }, input: { type: Object, default: function _default() { return undefined; } }, lazy: { type: Object, default: function _default() { return undefined; } }, listIndex: { type: Object, default: function _default() { return undefined; } }, loginScreen: { type: Object, default: function _default() { return undefined; } }, messagebar: { type: Object, default: function _default() { return undefined; } }, messages: { type: Object, default: function _default() { return undefined; } }, navbar: { type: Object, default: function _default() { return undefined; } }, notification: { type: Object, default: function _default() { return undefined; } }, panel: { type: Object, default: function _default() { return undefined; } }, photoBrowser: { type: Object, default: function _default() { return undefined; } }, picker: { type: Object, default: function _default() { return undefined; } }, pieChart: { type: Object, default: function _default() { return undefined; } }, popover: { type: Object, default: function _default() { return undefined; } }, popup: { type: Object, default: function _default() { return undefined; } }, range: { type: Object, default: function _default() { return undefined; } }, searchbar: { type: Object, default: function _default() { return undefined; } }, sheet: { type: Object, default: function _default() { return undefined; } }, smartSelect: { type: Object, default: function _default() { return undefined; } }, sortable: { type: Object, default: function _default() { return undefined; } }, statusbar: { type: Object, default: function _default() { return undefined; } }, stepper: { type: Object, default: function _default() { return undefined; } }, swipeout: { type: Object, default: function _default() { return undefined; } }, textEditor: { type: Object, default: function _default() { return undefined; } }, toast: { type: Object, default: function _default() { return undefined; } }, toolbar: { type: Object, default: function _default() { return undefined; } }, tooltip: { type: Object, default: function _default() { return undefined; } }, view: { type: Object, default: function _default() { return undefined; } }, virtualList: { type: Object, default: function _default() { return undefined; } }, // modules clicks: { type: Object, default: function _default() { return undefined; } }, serviceWorker: { type: Object, default: function _default() { return undefined; } }, touch: { type: Object, default: function _default() { return undefined; } } }, colorProps), setup: function setup(props) { var elRef = ref(null); var routes = toRaw(props.routes); if (!zmp || typeof window === 'undefined') { zmpinit(elRef.value, noUndefinedProps(_extends({}, props, { routes: routes })), false); } onMounted(function () { var parentEl = elRef.value && elRef.value.parentNode; /* eslint-disable no-restricted-globals */ if (typeof document !== 'undefined' && parentEl && parentEl !== document.body && parentEl.parentNode === document.body) { parentEl.style.height = '100%'; } /* eslint-enable no-restricted-globals */ if (zmp) { zmp.init(elRef.value); return; } zmpinit(elRef.value, noUndefinedProps(_extends({}, props, { routes: routes })), true); }); var classes = computed(function () { return classNames('zmp-root', colorClasses(props)); }); return { classes: classes, elRef: elRef }; } };