mirror of
https://github.com/itflow-org/itflow
synced 2026-11-11 07:01:16 +00:00
Show each starter content item as it will look under Pick which - a tag as its pill, a category as its chip, a product with its price and billing, with what each is for - and Preview the whole of a ticket, project, document, vendor or license template, canned response or product in a window, the words filled in as it is used marked; Maintenance > Starter Content gets Pick which too, its Add bringing only what is ticked and Will be added following the ticks, sharing admin/includes/starter_content_pick.php, admin/starter_content_preview.php and js/starter_content.js with Get started
This commit is contained in:
@@ -3,17 +3,17 @@
|
||||
/*
|
||||
* Get started - Starter content: the packs Maintenance > Starter Content has,
|
||||
* each with how much it would add, ticked to add (getting_started_content).
|
||||
* Pick which, under each, lists what it would add - every item ticked, so the
|
||||
* whole pack goes in unless some are unticked (picked[pack] says the list was
|
||||
* there, items[pack][] what is ticked in it; js/getting_started.js keeps the
|
||||
* pack's tick and count in step). Only what isn't here already is listed or
|
||||
* added.
|
||||
* Pick which, under each, lists what it would add as it will look, with
|
||||
* Preview - every item ticked, so the whole pack goes in unless some are
|
||||
* unticked (includes/starter_content_pick.php, js/starter_content.js). Only
|
||||
* what isn't here already is listed or added.
|
||||
*/
|
||||
|
||||
defined('FROM_GETTING_STARTED') || die("Direct file access is not allowed");
|
||||
|
||||
defined('FROM_STARTER_CONTENT') || define('FROM_STARTER_CONTENT', true);
|
||||
require_once dirname(__DIR__) . '/post/starter_content_model.php';
|
||||
require_once dirname(__DIR__) . '/includes/starter_content_pick.php';
|
||||
|
||||
$gs_packs = starterContentPacks();
|
||||
|
||||
@@ -26,11 +26,10 @@ $gs_packs = starterContentPacks();
|
||||
$gs_items = starterContentItems($mysqli, $gs_key);
|
||||
$gs_total = starterContentTotal($gs_key);
|
||||
$gs_missing = count($gs_items);
|
||||
$gs_all_here = $gs_missing === 0;
|
||||
$gs_count = $gs_all_here ? '' : ($gs_missing < $gs_total ? "$gs_missing more to add" : "$gs_missing to add"); ?>
|
||||
<div class="list-group-item<?= $gs_all_here ? ' is-here' : '' ?>" data-gs-pack="<?= $gs_key ?>">
|
||||
$gs_all_here = $gs_missing === 0; ?>
|
||||
<div class="list-group-item<?= $gs_all_here ? ' is-here' : '' ?>" data-gs-pack="<?= $gs_key ?>" data-starter-pick>
|
||||
<div class="d-flex gap-3 align-items-start">
|
||||
<input class="form-check-input flex-shrink-0 mt-1" type="checkbox" name="packs[]" value="<?= $gs_key ?>" id="gsPack_<?= $gs_key ?>"<?= $gs_all_here ? ' disabled' : ' checked' ?> data-gs-pack-check>
|
||||
<input class="form-check-input flex-shrink-0 mt-1" type="checkbox" name="packs[]" value="<?= $gs_key ?>" id="gsPack_<?= $gs_key ?>"<?= $gs_all_here ? ' disabled' : ' checked' ?> data-starter-pack-check>
|
||||
<span class="itflow-gs-pack-icon" aria-hidden="true"><i class="fas fa-fw <?= escapeHtml($gs_pack['icon']) ?>"></i></span>
|
||||
<div class="min-w-0 flex-grow-1">
|
||||
<label class="d-flex flex-wrap align-items-baseline gap-2 mb-0" for="gsPack_<?= $gs_key ?>">
|
||||
@@ -38,36 +37,11 @@ $gs_packs = starterContentPacks();
|
||||
<?php if ($gs_all_here) { ?>
|
||||
<span class="small text-body-secondary"><i class="fas fa-check text-success me-1"></i>All <?= $gs_total ?> here</span>
|
||||
<?php } else { ?>
|
||||
<span class="small text-body-secondary" data-gs-pack-count data-gs-of="<?= $gs_missing ?>" data-gs-more="<?= $gs_missing < $gs_total ? 1 : 0 ?>"><?= $gs_count ?></span>
|
||||
<span class="small text-body-secondary" data-starter-count data-starter-more="<?= $gs_missing < $gs_total ? 1 : 0 ?>"><?= $gs_missing < $gs_total ? "$gs_missing more to add" : "$gs_missing to add" ?></span>
|
||||
<?php } ?>
|
||||
</label>
|
||||
<div class="small text-body-secondary itflow-gs-pack-about" title="<?= escapeHtml($gs_pack['description']) ?>"><?= escapeHtml($gs_pack['description']) ?></div>
|
||||
<?php if (!$gs_all_here) { ?>
|
||||
<details class="itflow-gs-pick mt-1" data-gs-pick>
|
||||
<summary class="small">Pick which</summary>
|
||||
<input type="hidden" name="picked[<?= $gs_key ?>]" value="1">
|
||||
<div class="itflow-gs-pick-tools small mt-2">
|
||||
<button type="button" class="btn btn-link btn-sm p-0 align-baseline" data-gs-pick-all>All</button>
|
||||
<span class="text-body-secondary" aria-hidden="true">·</span>
|
||||
<button type="button" class="btn btn-link btn-sm p-0 align-baseline" data-gs-pick-none>None</button>
|
||||
</div>
|
||||
<div class="itflow-gs-pick-list mt-2">
|
||||
<div class="itflow-gs-pick-cols">
|
||||
<?php $gs_group = null;
|
||||
foreach ($gs_items as $gs_n => $gs_item) {
|
||||
if ($gs_item['group'] !== '' && $gs_item['group'] !== $gs_group) {
|
||||
$gs_group = $gs_item['group']; ?>
|
||||
<div class="itflow-gs-pick-group"><?= escapeHtml($gs_group) ?></div>
|
||||
<?php } ?>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="items[<?= $gs_key ?>][]" value="<?= escapeHtml($gs_item['key']) ?>" id="gsItem_<?= $gs_key ?>_<?= $gs_n ?>" checked data-gs-item>
|
||||
<label class="form-check-label" for="gsItem_<?= $gs_key ?>_<?= $gs_n ?>"><?= escapeHtml($gs_item['name']) ?></label>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</details>
|
||||
<?php } ?>
|
||||
<?= starterPickHtml($gs_key, $gs_items) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -77,3 +51,4 @@ $gs_packs = starterContentPacks();
|
||||
|
||||
<button type="submit" name="getting_started_content" value="1" class="btn btn-primary" data-gs-save>Add the ones ticked<i class="fas fa-arrow-right ms-2"></i></button>
|
||||
</form>
|
||||
<?= starterPreviewModalHtml() ?>
|
||||
|
||||
Reference in New Issue
Block a user