Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

jsarnowski / jsarnowski/jet-appointments-booking   php

Repository URL to install this package:

Version: 1.3.3 

/ admin / jet-apb-settings / set-up.php

<div class="wrap jet-apb-setup">
	<div v-if="!isSet || isReset">
		<div v-if="1 === currentStep">
			<h3 class="cx-vui-subtitle"><?php
				_e( 'Step 1 of 4. Connect post types', 'jet-appointments-booking' )
			?></h3>
			<div class="cx-vui-panel">
				<div class="cx-vui-component"><p class="jet-apb-setup-descr"><?php
					printf( __( 'To start you need to create a post type for appointment services (and providers if you need it). If you have already created the required post types, please select it from the list below. If no - please go to <a href="%1$s">Post Types</a> page and create it.', 'jet-appointments-booking' ), add_query_arg( array( 'page' => 'jet-engine-cpt' ), admin_url( 'admin.php' ) ) );
				?></p></div>
				<cx-vui-select
					label="<?php _e( 'Services post type', 'jet-appointments-booking' ); ?>"
					description="<?php _e( 'Select post type to fill services from', 'jet-appointments-booking' ); ?>"
					:options-list="postTypes"
					:wrapper-css="[ 'equalwidth' ]"
					:size="'fullwidth'"
					v-model="setupData.services_cpt"
				></cx-vui-select>
				<cx-vui-switcher
					label="<?php _e( 'Add providers', 'jet-appointments-booking' ); ?>"
					description="<?php _e( 'Check this if you want to manage services providers', 'jet-appointments-booking' ); ?>"
					:wrapper-css="[ 'equalwidth' ]"
					v-model="setupData.add_providers"
				></cx-vui-switcher>
				<cx-vui-select
					label="<?php _e( 'Provider post type', 'jet-appointments-booking' ); ?>"
					description="<?php _e( 'Select post type to fill providers from', 'jet-appointments-booking' ); ?>"
					:options-list="postTypes"
					:wrapper-css="[ 'equalwidth' ]"
					:size="'fullwidth'"
					:conditions="[
						{
							input: this.setupData.add_providers,
							compare: 'equal',
							value: true,
						}
					]"
					v-model="setupData.providers_cpt"
				></cx-vui-select>
			</div>
		</div>
		<div v-if="2 === currentStep">
			<h3 class="cx-vui-subtitle"><?php
				_e( 'Step 2 of 4. Setup DB tables', 'jet-appointments-booking' );
			?></h3>
			<div class="cx-vui-panel">
				<div class="cx-vui-component">
					<div class="cx-vui-component__meta">
						<label class="cx-vui-component__label"><?php
							_e( 'Required columns', 'jet-appointments-booking' );
						?></label>
						<div class="cx-vui-component__desc"><?php
							_e( 'Minimum set of required DB columns', 'jet-appointments-booking' );
						?></div>
					</div>
					<div class="cx-vui-component__control">
						<ul class="jet-apb-setup__db-columns">
							<li v-for="field in dbFields">{{ field }}</li>
						</ul>
					</div>
				</div>
				<cx-vui-component-wrapper
					:wrapper-css="[ 'fullwidth-control' ]"
				>
					<div class="cx-vui-inner-panel">
						<cx-vui-repeater
							:button-label="'<?php _e( 'New DB Column', 'jet-appointments-booking' ); ?>'"
							:button-style="'accent'"
							:button-size="'mini'"
							v-model="additionalDBColumns"
							@add-new-item="addNewColumn"
						>
							<cx-vui-repeater-item
								v-for="( column, columnIndex ) in additionalDBColumns"
								:title="additionalDBColumns[ columnIndex ].column"
								:collapsed="isCollapsed( column )"
								:index="columnIndex"
								@clone-item="cloneColumn( $event, columnIndex )"
								@delete-item="deleteColumn( $event, columnIndex )"
								:key="'column' + columnIndex"
							>
							<cx-vui-input
								label="<?php _e( 'Column name', 'jet-appointments-booking' ); ?>"
								description="<?php _e( 'Name for additional DB column', 'jet-appointments-booking' ); ?>"
								:wrapper-css="[ 'equalwidth' ]"
								size="fullwidth"
								:value="additionalDBColumns[ columnIndex ].column"
								@on-input-change="setColumnProp( columnIndex, 'column', $event.target.value )"
							></cx-vui-input>
							</cx-vui-repeater-item>
						</cx-vui-repeater>
					</div>
				</cx-vui-component-wrapper>
			</div>
		</div>
		<div v-if="3 === currentStep">
			<h3 class="cx-vui-subtitle"><?php
				_e( 'Step 3 of 4. Setup working hours and days off', 'jet-appointments-booking' );
			?></h3>
			<div class="cx-vui-panel jet-apb-panel">
				<keep-alive>
					<div>
						<jet-apb-set-up-working-hours-settings></jet-apb-set-up-working-hours-settings>
					</div>
				</keep-alive>
			</div>
		</div>
		<div v-if="4 === currentStep">
			<h3 class="cx-vui-subtitle"><?php
				_e( 'Step 4 of 4. Setup additional options', 'jet-appointments-booking' )
			?></h3>
			<div class="cx-vui-panel">
				<cx-vui-switcher
					label="<?php _e( 'WooCommerce Integration', 'jet-appointments-booking' ); ?>"
					description="<?php _e( 'Check this to connect appointments with WooCommerce checkout', 'jet-appointments-booking' ); ?>"
					:wrapper-css="[ 'equalwidth' ]"
					v-model="setupData.wc_integration"
				></cx-vui-switcher>
				<cx-vui-switcher
					label="<?php _e( 'Create a Single Service Booking Form', 'jet-appointments-booking' ); ?>"
					description="<?php _e( 'Create a booking form for a single service page (without services select field). JetEngine forms module should be enabled', 'jet-appointments-booking' ); ?>"
					:wrapper-css="[ 'equalwidth' ]"
					v-model="setupData.create_single_form"
				></cx-vui-switcher>
				<cx-vui-switcher
					label="<?php _e( 'Create Sample Page Booking Form', 'jet-appointments-booking' ); ?>"
					description="<?php _e( 'Create booking form for any static page (with services select field). JetEngine forms module should be enabled', 'jet-appointments-booking' ); ?>"
					:wrapper-css="[ 'equalwidth' ]"
					v-model="setupData.create_page_form"
				></cx-vui-switcher>
			</div>
		</div>
		<div v-if="4 < currentStep">
			<h3 class="cx-vui-subtitle"><?php
				_e( 'Congratulations! You\'re all set!', 'jet-appointments-booking' );
			?></h3>
			<div class="cx-vui-panel jet-apb-panel">
				<div class="jet-apb-panel-block">
					<h3 class="cx-vui-subtitle"><?php
						_e( 'Post Types', 'jet-appointments-booking' );
					?></h3>
					<p><span class="dashicons dashicons-admin-post"></span><a :href="log.services_page" target="_blank"><?php
						_e( 'Manage Services', 'jet-appointments-booking' );
					?></a></p>
					<p v-if="log.providers_page"><span class="dashicons dashicons-admin-post"></span><a :href="log.providers_page" target="_blank"><?php
						_e( 'Manage Providers', 'jet-appointments-booking' );
					?></a></p>
				</div>
				<div class="jet-apb-panel-block">
					<h3 class="cx-vui-subtitle"><?php
						_e( 'WooCommerce Integration', 'jet-appointments-booking' );
					?></h3>
					<p v-if="log.wc.enabled" class="jet-apb-wc-active" style="color: #46B450;"><span class="dashicons dashicons-yes"></span><b><?php
						_e( 'Enabled', 'jet-appointments-booking' );
					?></b></p>
					<p v-else class="jet-apb-wc-inactive" style="color: #C92C2C;"><span class="dashicons dashicons-no"></span><b><?php
						_e( 'Disabled', 'jet-appointments-booking' );
					?></b></p>
					<p v-if="log.wc.enabled && log.wc.link"><span class="dashicons dashicons-cart"></span><a :href="log.wc.link" target="_blank"><?php
						_e( 'Related product', 'jet-appointments-booking' )
					?></a></p>
				</div>
				<div v-if="log.forms.length" class="jet-apb-panel-block">
					<h3 class="cx-vui-subtitle"><?php
						_e( 'Created Forms', 'jet-appointments-booking' );
					?></h3>
					<p v-for="form in log.forms" :key="form.id">
						<span class="dashicons dashicons-clipboard"></span>
						<a :href="form.link" target="_blank">{{ form.title }}</a>
					</p>
					<p>
						<b>*</b> <?php _e( '<b>Note:</b> If you added additional DB columns, you need to add appropriate fields to the forms and notification settings.', 'jet-appointments-booking' ); ?>
					</p>
				</div>
				<div class="jet-apb-panel-block">
					<p><?php
						_e( 'To make all settings safe, you can disable Set Up Wizard in plugin settings (<b>Advanced</b> tab)', 'jet-appointments-booking' );
					?></p>
					<cx-vui-button
						button-style="accent"
						tag-name="a"
						:url="log.settings_url"
					>
						<span slot="label">
							<?php _e( 'Go to plugin settings', 'jet-appointments-booking' ); ?>
						</span>
					</cx-vui-button>
				</div>
			</div>
		</div>
		<div v-else class="jet-apb-setup__actions">
			<cx-vui-button
				button-style="link-accent"
				@click="prevStep"
				v-if="1 < currentStep"
			>
				<span slot="label">
					<span class="dashicons dashicons-arrow-left-alt2"></span>
					<?php _e( 'Prev', 'jet-appointments-booking' ); ?>
				</span>
			</cx-vui-button>
			<cx-vui-button
				button-style="accent"
				:loading="loading"
				@click="nextStep"
			>
				<span slot="label" v-if="currentStep === lastStep">
					<?php _e( 'Finish', 'jet-appointments-booking' ); ?>
				</span>
				<span slot="label" v-else>
					<?php _e( 'Next', 'jet-appointments-booking' ); ?>
				</span>
			</cx-vui-button>
		</div>
	</div>
	<div class="cx-vui-panel" v-else>
		<div class="jet-apb-reset">
			<p>
				<b><?php _e( 'Plugin is already set up.', 'jet-appointments-booking' ) ?></b>
				<?php _e( 'If you want to reset current plugin data and set it again press the button below', 'jet-appointments-booking' ); ?>
			</p>
			<cx-vui-button
				:button-style="'default'"
				@click="goToReset"
			>
				<span slot="label"><?php _e( 'Reset', 'jet-appointments-booking' ); ?></span>
			</cx-vui-button>
		</div>
	</div>
</div>