From 29983594d517016a3a2cdc9986a1f88316ebd678 Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Tue, 8 May 2018 10:38:48 -0300 Subject: [PATCH] Add completes-group project-design styling and action offset diagram color coding explanations to the manual --- addon/styles/resources/_manual.sass | 18 +++++++++++++ .../_workflow-action-definition.sass | 5 ++++ .../workflow-action-definition-item.coffee | 2 +- app/templates/manual/project/dunlop.emblem | 25 ++++++++++++++++++ .../action-offsets/more-elaborate-example.png | Bin 0 -> 36806 bytes 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 tests/dummy/public/assets/manual/action-offsets/more-elaborate-example.png diff --git a/addon/styles/resources/_manual.sass b/addon/styles/resources/_manual.sass index 5bcacf3..641dae6 100644 --- a/addon/styles/resources/_manual.sass +++ b/addon/styles/resources/_manual.sass @@ -5,3 +5,21 @@ .ui.sticky.fixed.top // allow space for top navigation padding-top: 50px + + // colors grabbed from app/components/project/workflow-action-offsets-graph.coffee + .offset-diagram-colors-explanation + .rooted-action .icon + color: #b9e0ff + .critical-path .icon + color: #ccfff2 + .non-critical-path .icon + color: #ffe1b8 + .unresolved-path-action .icon + color: #c2f9c0 + .attached-action .icon + color: #dddddd + .constraint-action .icon + color: #ffcc7d + .info-action .icon + color: #f7f7f7 + diff --git a/addon/styles/resources/_workflow-action-definition.sass b/addon/styles/resources/_workflow-action-definition.sass index 9ffffb9..50f4904 100644 --- a/addon/styles/resources/_workflow-action-definition.sass +++ b/addon/styles/resources/_workflow-action-definition.sass @@ -2,6 +2,11 @@ color: #222 &.is-editing background-color: #FEF9E7 + + &.completes-group + background-color: #eee + font-weight: bold + // Done is a dynosaur from the PMBC era &.done text-decoration: line-through color: #aaa diff --git a/app/components/workflow-action-definition-item.coffee b/app/components/workflow-action-definition-item.coffee index 2625513..cd229ca 100644 --- a/app/components/workflow-action-definition-item.coffee +++ b/app/components/workflow-action-definition-item.coffee @@ -1,7 +1,7 @@ import Ember from 'ember' export default Ember.Component.extend classNames: ["workflow-action-definition-item", 'workflow-action-container'] - classNameBindings: ["workflow_action_definition.done:done", "isEditing:is-editing:is-display"] + classNameBindings: ["workflow_action_definition.done:done", "isEditing:is-editing:is-display", "workflow_action_definition.completes_group:completes-group"] selectedValueType: Ember.computed.oneWay "workflow_action_definition.value_type" isEditing: false diff --git a/app/templates/manual/project/dunlop.emblem b/app/templates/manual/project/dunlop.emblem index a4b903a..b092aab 100644 --- a/app/templates/manual/project/dunlop.emblem +++ b/app/templates/manual/project/dunlop.emblem @@ -36,3 +36,28 @@ p non-rooted tree in itself and action B will have a connection to this non-rooted tree (consisting only of 1 action in this case). img src="../../assets/manual/action-offsets/rooted-non-critical-path.png" title="rooted-critical-path" p The C action in this case also is a non critical path connection since it's connection with B is defined on B, so not the farthest away from the X-rooted (or specifically planned) action. + +h4 Color explanations +.ui.list.offset-diagram-colors-explanation + .item.rooted-action + i.square.icon + .content This action is directly configured with respect to the reference date (X) + .item.critical-path + i.square.icon + .content This action is configured relative to other actions given the strategy to start with an X action and configure other actions 'aways' from X (critical path) + .item.non-critical-path + i.square.icon + .content This action is configured relative to other actions and the target date is determined using higher order non critical path resolve algorithms + .item.unresolved-path-action + i.square.icon + .content This action is configured relative to other actions but not connected to another action/tree that is rooted. So no target date can be determined!! + .item.attached-action + i.square.icon + .content This action is configured attached to other actions. Wether this action is visible/required can depend on the requirement configuration + .item.constraint-action + i.square.icon + .content This action is a constraint to another action and needs to be in a completed state before the other action can be completed. This action should have it's owd target date configuration and should therefore be displayed more than one time in the diagram. + .item.info-action + i.square.icon + .content This action is extra information to another action. This action should have it's owd target date configuration and should therefore be displayed more than one time in the diagram. +img src="../../assets/manual/action-offsets/more-elaborate-example.png" title="rooted-critical-path" diff --git a/tests/dummy/public/assets/manual/action-offsets/more-elaborate-example.png b/tests/dummy/public/assets/manual/action-offsets/more-elaborate-example.png new file mode 100644 index 0000000000000000000000000000000000000000..b17fcfe6e66fa7d185698ce2b7f47c453cfb6e60 GIT binary patch literal 36806 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