Skip to content

Commit

Permalink
Adding Note Type back
Browse files Browse the repository at this point in the history
- Calling it Multi Tracker
- Needed to adjust some things to make the promise step work right
  • Loading branch information
brandoncorbin committed Aug 1, 2019
1 parent db54d6f commit d1d3809
Show file tree
Hide file tree
Showing 10 changed files with 308 additions and 185 deletions.
9 changes: 9 additions & 0 deletions public/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -7239,6 +7239,15 @@ body.dark {
padding-right: 1rem;
transition: all 0.2s ease-in-out; }

body.scrolling .mini-map {
opacity: 0.3; }

.input-model.type-range .keypad-holder {
display: none; }

.input-model.type-value .tracker-input.slider {
display: none; }

.mini-map {
position: fixed;
bottom: 70px;
Expand Down
47 changes: 25 additions & 22 deletions src/components/modal/modal.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
export let allowClose;
export let fullscreen = false;
export let flexBody = undefined;
export let show = true;
const has_header = (arguments[1].$$slots || {}).hasOwnProperty("header");
const has_footer = (arguments[1].$$slots || {}).hasOwnProperty("footer");
Expand Down Expand Up @@ -97,29 +98,31 @@
}
</style>

<div class="n-modal-frame " transition:fly>
<div class="n-modal {fullscreen ? 'full-screen-modal' : ''}">
{#if has_header || title}
<div class="n-modal-header">
{#if has_header}
<slot name="header" />
{:else}
<NText tag="div" bold size="lg" className="text-center w-100 py-1">
{title}
</NText>
{/if}
{#if show}
<div class="n-modal-frame " transition:fly>
<div class="n-modal {fullscreen ? 'full-screen-modal' : ''}">
{#if has_header || title}
<div class="n-modal-header">
{#if has_header}
<slot name="header" />
{:else}
<NText tag="div" bold size="lg" className="text-center w-100 py-1">
{title}
</NText>
{/if}

</div>
{/if}
<div
class="n-modal-body {padding ? 'padding' : 'no-padding'}
{flexBody ? 'flex-body' : 'no-flex-body'}">
<slot />
</div>
{/if}
<div
class="n-modal-body {padding ? 'padding' : 'no-padding'}
{flexBody ? 'flex-body' : 'no-flex-body'}">
<slot />
{#if has_footer}
<div class="n-modal-footer">
<slot name="footer" />
</div>
{/if}
</div>
{#if has_footer}
<div class="n-modal-footer">
<slot name="footer" />
</div>
{/if}
</div>
</div>
{/if}
31 changes: 29 additions & 2 deletions src/containers/board/board.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*/
// svelte
import { navigate, Link } from "svelte-routing";
import { onMount } from "svelte";
import { onMount, tick } from "svelte";
import { fade } from "svelte/transition";
// Components
Expand All @@ -30,6 +30,8 @@
import math from "../../utils/math/math";
import Logger from "../../utils/log/log";
import NomieUOM from "../../utils/nomie-uom/nomie-uom";
import extractor from "../../utils/extract-trackers/extract-trackers";
import promiseStep from "../../utils/promise-step/promise-step";
//Stores
import { ActiveLogStore } from "../../store/active-log";
Expand Down Expand Up @@ -232,7 +234,7 @@
*/
trackerTapped(tracker) {
data.selectedTracker = tracker;
// If it's a plain old tick tracker
if (tracker.type === "tick") {
ActiveLogStore.addTag(tracker.tag);
if (tracker.one_tap === true) {
Expand All @@ -241,6 +243,31 @@
Interact.toast("Saved");
});
}
// If it's a note (combined trackers)
} else if (tracker.type === "note") {
// Extract Trackers
let trackerTags = extractor(tracker.note);
// Create array of items to pass to promise step
let items = Object.keys(trackerTags).map(tag => {
return {
tracker: $TrackerStore[tag] || new Tracker({ tag: tag }),
value: trackerTags[tag].value // not being used
};
});
// Step over each one...
promiseStep(items, item => {
return new Promise((resolve, reject) => {
// testing if going direct works
$Interact.trackerInput.show = false;
$Interact.trackerInput.tracker = null;
$Interact.trackerInput.onInteract = null;
setTimeout(() => {
Interact.trackerInput(item.tracker, item.value)
.then(resolve)
.catch(reject);
}, 300);
});
});
} else {
// It's an input of some sort
Interact.trackerInput(tracker);
Expand Down
50 changes: 32 additions & 18 deletions src/containers/interactions/interactions.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
promptInput.focus();
}
let ready = false;
const methods = {
getLogTrackers(log) {
return Object.keys(log.trackers).map(tag => {
Expand Down Expand Up @@ -63,6 +65,7 @@
$Interact.logDataEditor.tag = null;
}
};
ready = true;
</script>

<NPopMenu
Expand Down Expand Up @@ -159,22 +162,22 @@
<PinLock />
{/if}

{#if $Interact.trackerEditor.show}
<NTrackerEditor
show={true}
tracker={new Tracker($Interact.trackerEditor.tracker)}
on:save={tracker => {
$Interact.trackerEditor.show = false;
$Interact.trackerEditor.tracker = null;
if ($Interact.trackerEditor.onInteract) {
$Interact.trackerEditor.onInteract(tracker);
}
}}
on:close={() => {
$Interact.trackerEditor.show = false;
$Interact.trackerEditor.tracker = null;
}} />
{/if}
<!-- Tracker Editor -->

<NTrackerEditor
tracker={new Tracker($Interact.trackerEditor.tracker)}
on:save={tracker => {
$Interact.trackerEditor.show = false;
$Interact.trackerEditor.tracker = null;
if ($Interact.trackerEditor.onInteract) {
$Interact.trackerEditor.onInteract(tracker);
}
}}
on:close={() => {
Interact.dismissEditTracker();
}} />

<!-- Tracker Selector -->

<TrackerSelector
show={$Interact.trackerSelector.show}
Expand All @@ -192,9 +195,14 @@
}
}} />

{#if $Interact.trackerInput.show === true}
<!-- Tracker Input -->

{#if $Interact.trackerInput.show}
<TrackerInput
on:save={event => {
if ($Interact.trackerInput.onInteract) {
$Interact.trackerInput.onInteract(event.detail);
}
Interact.dismissTrackerInput();
ActiveLogStore.addTag(event.detail.tracker.tag, event.detail.value);
LedgerStore.saveLog($ActiveLogStore).then(() => {
Expand All @@ -203,12 +211,18 @@
}}
on:add={event => {
ActiveLogStore.addTag(event.detail.tracker.tag, event.detail.value);
if ($Interact.trackerInput.onInteract) {
$Interact.trackerInput.onInteract(event.detail);
}
Interact.dismissTrackerInput();
}}
on:cancel={() => {
if ($Interact.trackerInput.onInteract) {
$Interact.trackerInput.onInteract(null);
}
Interact.dismissTrackerInput();
}}
show={true}
show={$Interact.trackerInput.show}
tracker={new Tracker($Interact.trackerInput.tracker)} />
{/if}

Expand Down
Loading

0 comments on commit d1d3809

Please sign in to comment.