Removed the services part from the service categories page
This commit is contained in:
parent
2a599f11b8
commit
8682fc886b
3 changed files with 129 additions and 231 deletions
|
@ -9,9 +9,8 @@
|
||||||
|
|
||||||
<?php section('content') ?>
|
<?php section('content') ?>
|
||||||
|
|
||||||
<script src="<?= asset_url('assets/js/backend_services_helper.js') ?>"></script>
|
|
||||||
<script src="<?= asset_url('assets/js/backend_categories_helper.js') ?>"></script>
|
<script src="<?= asset_url('assets/js/backend_categories_helper.js') ?>"></script>
|
||||||
<script src="<?= asset_url('assets/js/backend_services.js') ?>"></script>
|
<script src="<?= asset_url('assets/js/backend_categories.js') ?>"></script>
|
||||||
<script>
|
<script>
|
||||||
var GlobalVariables = {
|
var GlobalVariables = {
|
||||||
csrfToken: <?= json_encode($this->security->get_csrf_hash()) ?>,
|
csrfToken: <?= json_encode($this->security->get_csrf_hash()) ?>,
|
||||||
|
@ -29,251 +28,90 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
BackendServices.initialize(true);
|
BackendCategories.initialize(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="container-fluid backend-page" id="services-page">
|
<div class="container-fluid backend-page" id="service-page">
|
||||||
<ul class="nav nav-pills">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" href="#services" data-toggle="tab">
|
|
||||||
<?= lang('services') ?>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="#categories" data-toggle="tab">
|
|
||||||
<?= lang('categories') ?>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div class="tab-content">
|
<div class="row" id="categories">
|
||||||
|
<div id="filter-categories" class="filter-records column col-12 col-md-5">
|
||||||
|
<form class="input-append mb-4">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" class="key form-control">
|
||||||
|
|
||||||
<!-- SERVICES TAB -->
|
<div class="input-group-addon">
|
||||||
|
<div>
|
||||||
<div class="tab-pane active" id="services">
|
<button class="filter btn btn-outline-secondary" type="submit"
|
||||||
<div class="row">
|
data-tippy-content="<?= lang('filter') ?>">
|
||||||
<div id="filter-services" class="filter-records col col-12 col-md-5">
|
<i class="fas fa-search"></i>
|
||||||
<form class="mb-4">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" class="key form-control">
|
|
||||||
|
|
||||||
<div class="input-group-addon">
|
|
||||||
<div>
|
|
||||||
<button class="filter btn btn-outline-secondary" type="submit"
|
|
||||||
data-tippy-content="<?= lang('filter') ?>">
|
|
||||||
<i class="fas fa-search"></i>
|
|
||||||
</button>
|
|
||||||
<button class="clear btn btn-outline-secondary" type="button"
|
|
||||||
data-tippy-content="<?= lang('clear') ?>">
|
|
||||||
<i class="fas fa-redo-alt"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<h3><?= lang('services') ?></h3>
|
|
||||||
<div class="results"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="record-details column col-12 col-md-5">
|
|
||||||
<div class="btn-toolbar mb-4">
|
|
||||||
<div class="add-edit-delete-group btn-group">
|
|
||||||
<button id="add-service" class="btn btn-primary">
|
|
||||||
<i class="fas fa-plus-square mr-2"></i>
|
|
||||||
<?= lang('add') ?>
|
|
||||||
</button>
|
</button>
|
||||||
<button id="edit-service" class="btn btn-outline-secondary" disabled="disabled">
|
<button class="clear btn btn-outline-secondary" type="button"
|
||||||
<i class="fas fa-edit mr-2"></i>
|
data-tippy-content="<?= lang('clear') ?>">
|
||||||
<?= lang('edit') ?>
|
<i class="fas fa-redo-alt"></i>
|
||||||
</button>
|
|
||||||
<button id="delete-service" class="btn btn-outline-secondary" disabled="disabled">
|
|
||||||
<i class="fas fa-trash-alt mr-2"></i>
|
|
||||||
<?= lang('delete') ?>
|
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="save-cancel-group btn-group" style="display:none;">
|
|
||||||
<button id="save-service" class="btn btn-primary">
|
|
||||||
<i class="fas fa-check-square mr-2"></i>
|
|
||||||
<?= lang('save') ?>
|
|
||||||
</button>
|
|
||||||
<button id="cancel-service" class="btn btn-outline-secondary">
|
|
||||||
<i class="fas fa-ban mr-2"></i>
|
|
||||||
<?= lang('cancel') ?>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3><?= lang('details') ?></h3>
|
|
||||||
|
|
||||||
<div class="form-message alert" style="display:none;"></div>
|
|
||||||
|
|
||||||
<input type="hidden" id="service-id">
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-name">
|
|
||||||
<?= lang('name') ?>
|
|
||||||
<span class="text-danger">*</span>
|
|
||||||
</label>
|
|
||||||
<input id="service-name" class="form-control required" maxlength="128">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-duration">
|
|
||||||
<?= lang('duration_minutes') ?>
|
|
||||||
<span class="text-danger">*</span>
|
|
||||||
</label>
|
|
||||||
<input id="service-duration" class="form-control required" type="number" min="<?= EVENT_MINIMUM_DURATION ?>">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-price">
|
|
||||||
<?= lang('price') ?>
|
|
||||||
<span class="text-danger">*</span>
|
|
||||||
</label>
|
|
||||||
<input id="service-price" class="form-control required">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-currency">
|
|
||||||
<?= lang('currency') ?>
|
|
||||||
|
|
||||||
</label>
|
|
||||||
<input id="service-currency" class="form-control" maxlength="32">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-category">
|
|
||||||
<?= lang('category') ?>
|
|
||||||
</label>
|
|
||||||
<select id="service-category" class="form-control"></select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-availabilities-type">
|
|
||||||
<?= lang('availabilities_type') ?>
|
|
||||||
|
|
||||||
</label>
|
|
||||||
<select id="service-availabilities-type" class="form-control">
|
|
||||||
<option value="<?= AVAILABILITIES_TYPE_FLEXIBLE ?>">
|
|
||||||
<?= lang('flexible') ?>
|
|
||||||
</option>
|
|
||||||
<option value="<?= AVAILABILITIES_TYPE_FIXED ?>">
|
|
||||||
<?= lang('fixed') ?>
|
|
||||||
</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-attendants-number">
|
|
||||||
<?= lang('attendants_number') ?>
|
|
||||||
<span class="text-danger">*</span>
|
|
||||||
</label>
|
|
||||||
<input id="service-attendants-number" class="form-control required" type="number" min="1">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-location">
|
|
||||||
<?= lang('location') ?>
|
|
||||||
|
|
||||||
</label>
|
|
||||||
<input id="service-location" class="form-control">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="service-description">
|
|
||||||
<?= lang('description') ?>
|
|
||||||
</label>
|
|
||||||
<textarea id="service-description" rows="4" class="form-control"></textarea>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
|
|
||||||
|
<h3><?= lang('categories') ?></h3>
|
||||||
|
<div class="results"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- CATEGORIES TAB -->
|
<div class="record-details col-12 col-md-5">
|
||||||
|
<div class="btn-toolbar mb-4">
|
||||||
<div class="tab-pane" id="categories">
|
<div class="add-edit-delete-group btn-group">
|
||||||
<div class="row">
|
<button id="add-category" class="btn btn-primary">
|
||||||
<div id="filter-categories" class="filter-records column col-12 col-md-5">
|
<i class="fas fa-plus-square mr-2"></i>
|
||||||
<form class="input-append mb-4">
|
<?= lang('add') ?>
|
||||||
<div class="input-group">
|
</button>
|
||||||
<input type="text" class="key form-control">
|
<button id="edit-category" class="btn btn-outline-secondary" disabled="disabled">
|
||||||
|
<i class="fas fa-edit mr-2"></i>
|
||||||
<div class="input-group-addon">
|
<?= lang('edit') ?>
|
||||||
<div>
|
</button>
|
||||||
<button class="filter btn btn-outline-secondary" type="submit"
|
<button id="delete-category" class="btn btn-outline-secondary" disabled="disabled">
|
||||||
data-tippy-content="<?= lang('filter') ?>">
|
<i class="fas fa-trash-alt mr-2"></i>
|
||||||
<i class="fas fa-search"></i>
|
<?= lang('delete') ?>
|
||||||
</button>
|
</button>
|
||||||
<button class="clear btn btn-outline-secondary" type="button"
|
|
||||||
data-tippy-content="<?= lang('clear') ?>">
|
|
||||||
<i class="fas fa-redo-alt"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<h3><?= lang('categories') ?></h3>
|
|
||||||
<div class="results"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="record-details col-12 col-md-5">
|
<div class="save-cancel-group btn-group" style="display:none;">
|
||||||
<div class="btn-toolbar mb-4">
|
<button id="save-category" class="btn btn-primary">
|
||||||
<div class="add-edit-delete-group btn-group">
|
<i class="fas fa-check-square mr-2"></i>
|
||||||
<button id="add-category" class="btn btn-primary">
|
<?= lang('save') ?>
|
||||||
<i class="fas fa-plus-square mr-2"></i>
|
</button>
|
||||||
<?= lang('add') ?>
|
<button id="cancel-category" class="btn btn-outline-secondary">
|
||||||
</button>
|
<i class="fas fa-ban mr-2"></i>
|
||||||
<button id="edit-category" class="btn btn-outline-secondary" disabled="disabled">
|
<?= lang('cancel') ?>
|
||||||
<i class="fas fa-edit mr-2"></i>
|
</button>
|
||||||
<?= lang('edit') ?>
|
|
||||||
</button>
|
|
||||||
<button id="delete-category" class="btn btn-outline-secondary" disabled="disabled">
|
|
||||||
<i class="fas fa-trash-alt mr-2"></i>
|
|
||||||
<?= lang('delete') ?>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="save-cancel-group btn-group" style="display:none;">
|
|
||||||
<button id="save-category" class="btn btn-primary">
|
|
||||||
<i class="fas fa-check-square mr-2"></i>
|
|
||||||
<?= lang('save') ?>
|
|
||||||
</button>
|
|
||||||
<button id="cancel-category" class="btn btn-outline-secondary">
|
|
||||||
<i class="fas fa-ban mr-2"></i>
|
|
||||||
<?= lang('cancel') ?>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3><?= lang('details') ?></h3>
|
|
||||||
|
|
||||||
<div class="form-message alert" style="display:none;"></div>
|
|
||||||
|
|
||||||
<input type="hidden" id="category-id">
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="category-name">
|
|
||||||
<?= lang('name') ?>
|
|
||||||
<span class="text-danger">*</span>
|
|
||||||
</label>
|
|
||||||
<input id="category-name" class="form-control required">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="category-description">
|
|
||||||
<?= lang('description') ?>
|
|
||||||
|
|
||||||
</label>
|
|
||||||
<textarea id="category-description" rows="4" class="form-control"></textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h3><?= lang('details') ?></h3>
|
||||||
|
|
||||||
|
<div class="form-message alert" style="display:none;"></div>
|
||||||
|
|
||||||
|
<input type="hidden" id="category-id">
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="category-name">
|
||||||
|
<?= lang('name') ?>
|
||||||
|
<span class="text-danger">*</span>
|
||||||
|
</label>
|
||||||
|
<input id="category-name" class="form-control required">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="category-description">
|
||||||
|
<?= lang('description') ?>
|
||||||
|
|
||||||
|
</label>
|
||||||
|
<textarea id="category-description" rows="4" class="form-control"></textarea>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php section('content') ?>
|
<?php section('content') ?>
|
||||||
|
|
62
assets/js/backend_categories.js
Normal file
62
assets/js/backend_categories.js
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
* Easy!Appointments - Open Source Web Scheduler
|
||||||
|
*
|
||||||
|
* @package EasyAppointments
|
||||||
|
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||||
|
* @copyright Copyright (c) 2013 - 2020, Alex Tselegidis
|
||||||
|
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||||
|
* @link http://easyappointments.org
|
||||||
|
* @since v1.0.0
|
||||||
|
* ---------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
window.BackendCategories = window.BackendCategories || {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Backend Categories
|
||||||
|
*
|
||||||
|
* This namespace handles the js functionality of the backend categories page.
|
||||||
|
*
|
||||||
|
* @module BackendCategories
|
||||||
|
*/
|
||||||
|
(function (exports) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Contains the basic record methods for the page.
|
||||||
|
*
|
||||||
|
* @type {CategoriesHelper}
|
||||||
|
*/
|
||||||
|
var helper;
|
||||||
|
|
||||||
|
var categoriesHelper = new CategoriesHelper();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default initialize method of the page.
|
||||||
|
*
|
||||||
|
* @param {Boolean} [defaultEventHandlers] Optional (true), determines whether to bind the default event handlers.
|
||||||
|
*/
|
||||||
|
exports.initialize = function (defaultEventHandlers) {
|
||||||
|
defaultEventHandlers = defaultEventHandlers || true;
|
||||||
|
|
||||||
|
// Instantiate helper object (category helper by default).
|
||||||
|
helper = categoriesHelper;
|
||||||
|
helper.resetForm();
|
||||||
|
helper.filter('');
|
||||||
|
helper.bindEventHandlers();
|
||||||
|
|
||||||
|
if (defaultEventHandlers) {
|
||||||
|
bindEventHandlers();
|
||||||
|
}
|
||||||
|
|
||||||
|
Backend.placeFooterToBottom();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Binds the default event handlers of the backend categories page.
|
||||||
|
*
|
||||||
|
* Do not use this method if you include the "BackendCategories" namespace on another page.
|
||||||
|
*/
|
||||||
|
function bindEventHandlers() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
})(window.BackendCategories);
|
|
@ -244,7 +244,6 @@
|
||||||
this.resetForm();
|
this.resetForm();
|
||||||
$('#filter-categories .key').val('');
|
$('#filter-categories .key').val('');
|
||||||
this.filter('', response.id, true);
|
this.filter('', response.id, true);
|
||||||
BackendServices.updateAvailableCategories();
|
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -268,7 +267,6 @@
|
||||||
|
|
||||||
this.resetForm();
|
this.resetForm();
|
||||||
this.filter($('#filter-categories .key').val());
|
this.filter($('#filter-categories .key').val());
|
||||||
BackendServices.updateAvailableCategories();
|
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue