From fa95d2df4a4b8b9f561272c92bae376c317a4341 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Mon, 1 Aug 2016 09:59:02 +0200 Subject: [PATCH 1/9] setting up conditions for FT --- package.json | 1 + src/components/main/app.css | 6 ++++++ src/components/main/index.js | 5 +++-- src/components/main/view.js | 13 ++++++++----- src/components/widgets/Help/index.js | 7 +++++++ 5 files changed, 25 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 5b995fe..3530b9d 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "fast.js": "^0.1.1", "gl": "^2.1.5", "glView-helpers": "usco/glView-helpers", + "hopscotch": "^0.2.6", "jsondiffpatch": "^0.1.41", "log-minim": "usco/log-minim", "loglevel": "^1.2.0", diff --git a/src/components/main/app.css b/src/components/main/app.css index 0d6c529..93bdc28 100644 --- a/src/components/main/app.css +++ b/src/components/main/app.css @@ -247,6 +247,12 @@ button[disabled=disabled]:hover, button:disabled:hover{ opacity: 1!important; } +#overlayContainer{ + position: absolute; + top: 20%; + left: 50%; +} + .innerWrapper{ opacity: 0; transition: opacity 1.0s ease-in-out; diff --git a/src/components/main/index.js b/src/components/main/index.js index 69a39ec..6b64e58 100644 --- a/src/components/main/index.js +++ b/src/components/main/index.js @@ -5,6 +5,7 @@ const {just} = Rx.Observable import Settings from '../../components/Settings' import FullScreenToggler from '../../components/widgets/FullScreenToggler/index' import Help from '../../components/widgets/Help' +import FeatureTour from '../../components/widgets/FeatureTour/index' import { EntityInfosWrapper, BOMWrapper, GLWrapper, CommentsWrapper, progressBarWrapper } from '../../components/main/wrappers' @@ -31,10 +32,11 @@ export default function main (sources) { const settingsC = Settings({DOM, props$: state$}) const fsToggler = FullScreenToggler({DOM}) const help = Help({DOM, props$: state$}) + const featureTour = FeatureTour({DOM, props$: state$}) // outputs const vtree$ = view(state$, settingsC.DOM, fsToggler.DOM, bom.DOM, gl.DOM - , entityInfos.DOM, comments.DOM, help.DOM) + , entityInfos.DOM, comments.DOM, help.DOM, featureTour.DOM) const events$ = just({ gl: gl.events, entityInfos: entityInfos.events, @@ -50,7 +52,6 @@ export default function main (sources) { // save file to user hdd const fileStorage$ = formatDataForFileStorage({sources, state$}, bom) - // return anything you want to output to sources return { DOM: vtree$, diff --git a/src/components/main/view.js b/src/components/main/view.js index d1d5889..18ca2df 100644 --- a/src/components/main/view.js +++ b/src/components/main/view.js @@ -131,11 +131,11 @@ function renderRightToolbar (state, {bom}) { function renderTopToolbar (state) { const progressBar = renderProgressBar({progress: state.operationsInProgress * 100}) - return h('section#topToolBar', [ h('section.notifications', [state.notifications]), progressBar ]) + return h('section#topToolBar', [h('section.notifications', [state.notifications]), progressBar ]) } function renderUiElements (uiElements) { - const {state, settings, fsToggler, bom, gl, entityInfos, help} = uiElements + const {state, settings, fsToggler, bom, gl, entityInfos, help, featureTour} = uiElements const widgetsMapping = { //'comments': comments, @@ -152,6 +152,7 @@ function renderUiElements (uiElements) { const rightToolbar = renderRightToolbar(state, uiElements) const bottomToolBar = h('section#bottomToolBar', [settings, help, fsToggler]) const topToolbar = renderTopToolbar(state) + const overlayContainer = h('div#overlayContainer') return h('div.jam', flatten([ gl, @@ -159,7 +160,8 @@ function renderUiElements (uiElements) { leftToolbar, rightToolbar, topToolbar, - bottomToolBar + bottomToolBar, + overlayContainer ])) } @@ -174,8 +176,9 @@ function widgetNamesByToolSet (toolset) { } export default function view(state$, settings$, fsToggler$, bom$ - , gl$, entityInfos$, comment$, help$) { + , gl$, entityInfos$, comment$, help$, featureTour$) { - return combineLatestObj({state$, settings$, fsToggler$, bom$, gl$, entityInfos$, comment$, help$}) + return combineLatestObj({state$, settings$, fsToggler$, bom$ + , gl$, entityInfos$, comment$, help$, featureTour$}) .map(renderUiElements) } diff --git a/src/components/widgets/Help/index.js b/src/components/widgets/Help/index.js index cb8e8ef..c5e5c5f 100644 --- a/src/components/widgets/Help/index.js +++ b/src/components/widgets/Help/index.js @@ -68,6 +68,13 @@ function view (state$) {
  • Click/tap outside of any object in the 3d view to clear all selections
  • +
  • + +
  • Jam version {appVersion} From 3c1b01b7aeb971a278da21b357cf2d5d764a8a99 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Mon, 1 Aug 2016 09:59:27 +0200 Subject: [PATCH 2/9] feature tour functionalities --- src/components/widgets/FeatureTour/index.js | 48 +++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/components/widgets/FeatureTour/index.js diff --git a/src/components/widgets/FeatureTour/index.js b/src/components/widgets/FeatureTour/index.js new file mode 100644 index 0000000..0c52737 --- /dev/null +++ b/src/components/widgets/FeatureTour/index.js @@ -0,0 +1,48 @@ +import { combineLatestObj } from '../../../utils/obsUtils' +import { h } from '@cycle/dom' +import startUpTour from './startUpTour.js' +import hopscotch from 'hopscotch' +require('./featureTour.css') + +function intent (DOM) { + var toggle$ = DOM.select('.startUpTourButton').events('click') + .map(true) + .startWith(false) + return {toggle$} +} + +function model (props$, actions) { + const toggle$ = actions.toggle$.startWith(false) + const firstRun$ = props$.map(e => false) // needs to change later + return combineLatestObj({toggle$, firstRun$}) +} + +function view (state$) { + return state$.map(function (state) { + let active = state.toggle || state.firstRun + let tour = startUpTour() + + hopscotch.registerHelper('hideArrow', function () { + document.querySelector('.hopscotch-bubble-arrow-container').className += ' hidden' + }) + hopscotch.registerHelper('clearState', function () { + active = false + tour = undefined + }) + + if (active) { + hopscotch.startTour(tour) + // this is nescessary to fix an initial calculation bug in hopscotch + document.querySelector('.hopscotch-bubble').style.left = '25%' + } + }) +} + +export default function FeatureTour ({DOM, props$}) { + let actions = intent(DOM) + let state$ = model(props$, actions) + let vtree$ = view(state$) + return { + DOM: vtree$ + } +} From 22a8a830147afe0dccc256df37099ec78e37dd90 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Mon, 1 Aug 2016 09:59:44 +0200 Subject: [PATCH 3/9] start of startuptour --- .../widgets/FeatureTour/startUpTour.js | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 src/components/widgets/FeatureTour/startUpTour.js diff --git a/src/components/widgets/FeatureTour/startUpTour.js b/src/components/widgets/FeatureTour/startUpTour.js new file mode 100644 index 0000000..cff4275 --- /dev/null +++ b/src/components/widgets/FeatureTour/startUpTour.js @@ -0,0 +1,139 @@ +export default function startUpTour () { + const imagePath = './src/components/widgets/FeatureTour/images/' + const content = { + id: 'startupTour', + showPrevButton: true, + bubbleWidth: 450, + onClose: ['clearState'], + onEnd: ['clearState'], + steps: [ + { + title: 'Welcome at the first-run tour of JAM.', + content: `

    The purpose of this tour is to show you how to make the best use of JAM.

    `, + target: document.querySelector('#overlayContainer'), + placement: 'bottom', + xOffset: 'center', + arrowOffset: 'center', + onShow: ['hideArrow'] + }, + { + title: 'Assemblies', + content: `You can use JAM to make assemblies. In an assembly you put your parts together as they would be in real life. This way other people can see what the end result looks like and as a bonus other people can see how to put it together themselves. `, + target: document.querySelector('#overlayContainer'), + placement: 'bottom', + xOffset: 'center', + arrowOffset: 'center', + onShow: ['hideArrow'] + }, + { + title: 'My content', + content: '(this step only shows when no model is loaded) First let’s load a model by dragging it into JAM or click here to load an example model.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You select a part by clicking it. When a part is selected, it has a thick black outline. Unselect the part by clicking it again.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'Click here to see a list of all of your parts.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You can also add parts which do not exist as a 3D file, for example tape, bolts or glue. These parts are usually not-printable.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'When you click one of these you can copy the bill of materials as a text- or json file. You can look at this file as a to-print-and-to-get-list.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'Here on the left, you find all the tools which you use to edit or manipulate your model. Pro tip: You can manipulate multiple parts at the same time by simply selecting multiple parts. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'With the translate tool, you move parts around on the build area. When snap translation is selected, the position snaps to rounded mm’s.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You use the rotate tool to make sure that your parts are in the right orientation. When snap snap rotation is selected, it snaps to rounded degrees.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You can probably already guess what the scaling and the snap-scaling functionalities do. Uniform scaling makes sure that you can scale the model, but it stays in its original dimensions. So all sides are scaled equally. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'With the mirror tool, you can mirror you part along the x, y and z axis.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'These two tools are used to duplicate or delete a part.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'Give your parts different colours to make your assembly even more life-like. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'Perform measureents', + content: 'The last of the tools is to perform measurements on your model. You could for example measure how wide a part is and compare that to other parts.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'In the bottom right, you find everything regarding help and settings. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'With this button you can toggle between the regular screen and a full screen view. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You can access various settings here. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'Click here for extra information on JAM or to start this startup tour again. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'This is the end of the start-up tour. Thank you for joining.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + } + ] + } + return content +} From a5812980cc6c22b6e462335b4d343ca963776738 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Mon, 1 Aug 2016 09:59:56 +0200 Subject: [PATCH 4/9] styling stuff and pics --- .../widgets/FeatureTour/featureTour.css | 84 ++++++++++++++++++ .../widgets/FeatureTour/images/bunny.jpg | Bin 0 -> 29695 bytes .../FeatureTour/images/solar_system.jpg | Bin 0 -> 68025 bytes 3 files changed, 84 insertions(+) create mode 100644 src/components/widgets/FeatureTour/featureTour.css create mode 100644 src/components/widgets/FeatureTour/images/bunny.jpg create mode 100644 src/components/widgets/FeatureTour/images/solar_system.jpg diff --git a/src/components/widgets/FeatureTour/featureTour.css b/src/components/widgets/FeatureTour/featureTour.css new file mode 100644 index 0000000..4be9517 --- /dev/null +++ b/src/components/widgets/FeatureTour/featureTour.css @@ -0,0 +1,84 @@ +.hopscotch-bubble-container{ + display: inline-block; + font-family: 'Open Sans', sans-serif; + z-index: 1000; + background-color: white; + /*width: 700px !important;*/ + border: 1px solid #dddddd; + font-size: 0.7em; +} + +.hopscotch-bubble-number{ + display: none; +} + +.hopscotch-title{ + margin-top: 5px; +} + +.hopscotch-content{ + display: inline-block; + width: 100% +} + +.featureTourImage{ + display: block; +} +.imageLeft{ + float: left; + margin-right: 15px; +} +.imageRight{ + float: right; + margin-left: 15px; +} + +.hopscotch-actions{ + display: block; + margin-top: 10px; + float: right; +} + +.hopscotch-nav-button{ + display: inline-block; + background: #5fc5fb; + color: #ffffff; +} + +.hopscotch-bubble-close, .hopscotch-bubble-close:hover{ + position: absolute; + top: 15; + right: 15; + width: 20px; height: 20px; + background: #F5F5F5 url("data:image/svg+xml;utf8,") !important; + text-indent: -9999px; +} + +.hidden{ + display: none; +} + +.hopscotch-bubble-arrow, .hopscotch-bubble-arrow-border{ + position: absolute; + top: -8px; + left: 17px; + margin: 0; + border-top: 0; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-bottom: 10px solid white; + padding: 0; + width: 0; + height: 0; + /* ie6 height fix */ + font-size: 0; + line-height: 0; + /* ie6 transparent fix */ + _border-right-color: pink; + _border-left-color: pink; + _filter: chroma(color=pink); +} + +.hopscotch-bubble-arrow-border{ + border-bottom-color: #dddddd; top: -9px; +} diff --git a/src/components/widgets/FeatureTour/images/bunny.jpg b/src/components/widgets/FeatureTour/images/bunny.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8e01d750bcb448f0d08342522041ce4517eb0863 GIT binary patch literal 29695 zcmbTd1z23m(k{Hn;2H=JEa(t|y9IaG;O;KN;4Xn6!3huumf*pHy9F2=5(w@dAb4=Q zL-sj)pYuKUzxO_W58d;ws_N>h>RR2ig!}3HW#F;Aw45}6fB*op@DFgm0*Fd^*;)aB zk`llG001h05N-<~!Vz2qAc0o^c$D+#Z^~&7=x@CHz`WlB_*8A2-JD%*oFSB)ENlRu zxSSH=g9do{gK7W3$3LD$&%^;$h}%JE?|)s02i&is{FIZBFjiGpk(N`G`ePKzv?&DQ z@Q4xs9G%>t>N4V#I=Xt4C^Nt#fEd7l+k;_h?g|l8RaJb@`5^m8_kT5KlYeXn#+m>3 z{QnaEp9dHgmagV-=TYGdXA4(zM>zHZ0Hh3a2-FP#Q1Ib&K2JBu1Aedp9||`Rj!ho0 z^deAAa3I7aQqyeD%9@wnqqJa&!tDQR#0h8IEL$a1hsLO{WnhcvC+_m z(+T19uTEylD*x&`ZSE=ok0n42r{CFF%00xF8~{L+wr+A7a17T25{5dfKgh#v09jdB zN=m^o6C6j`J1acc0M`ksbM<)jK!31j+Q&xX!OjQzke#W#DjdVJ8nkNZAoCy(9}9E? zaZ~-54T$7U4$2SX!pB0Cv~>OBFI*2IxtooKESwG>7tz5Ds`0PBi1Ajo(sKWjud;#4 zKF}Zf&O#jiZyDx4{agWiINcWT_``FBx2k_6 z|LXZ~SxUefPIUr){*g5YB*^mtceo}S;1`@~^S4e)KmvZ`4yRfFf9UzkmhFG(aYlTK z$cD%XuL6jQh(d^bi2ML0q6nfWqA;Q)oXU?V@V9PNc%OfJ^kC06e3ZZRxWGrW{3E9Y z_q`MDqZ?ofZ&%}|FV6q){}ttjnX-k?sPlix{m;4hx0D#%Q-?o2 z9pO>1h5KyzA3ihxr;c8~7NUPfn?P(Z7{~1OvvP_j`G@)t1

    dGi4xz=^rZF6x$x# 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 -L8ppeOX0DwpCAzsu=xWer-J}hCo__w9 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 literal 0 HcmV?d00001 From 06ffb5d1f16e39552444f56634ecef0c91c15afa Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Mon, 1 Aug 2016 09:59:02 +0200 Subject: [PATCH 5/9] setting up conditions for FT --- package.json | 1 + src/components/main/app.css | 6 ++++++ src/components/main/index.js | 5 +++-- src/components/main/view.js | 13 ++++++++----- src/components/widgets/Help/index.js | 7 +++++++ 5 files changed, 25 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index a0c7395..721cd4b 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "fast.js": "^0.1.1", "gl": "^2.1.5", "glView-helpers": "usco/glView-helpers", + "hopscotch": "^0.2.6", "jsondiffpatch": "^0.1.41", "log-minim": "usco/log-minim", "loglevel": "^1.2.0", diff --git a/src/components/main/app.css b/src/components/main/app.css index 29ff757..0920695 100644 --- a/src/components/main/app.css +++ b/src/components/main/app.css @@ -257,6 +257,12 @@ button[disabled=disabled]:hover, button:disabled:hover{ opacity: 1!important; } +#overlayContainer{ + position: absolute; + top: 20%; + left: 50%; +} + .innerWrapper{ opacity: 0; transition: opacity 1.0s ease-in-out; diff --git a/src/components/main/index.js b/src/components/main/index.js index 69a39ec..6b64e58 100644 --- a/src/components/main/index.js +++ b/src/components/main/index.js @@ -5,6 +5,7 @@ const {just} = Rx.Observable import Settings from '../../components/Settings' import FullScreenToggler from '../../components/widgets/FullScreenToggler/index' import Help from '../../components/widgets/Help' +import FeatureTour from '../../components/widgets/FeatureTour/index' import { EntityInfosWrapper, BOMWrapper, GLWrapper, CommentsWrapper, progressBarWrapper } from '../../components/main/wrappers' @@ -31,10 +32,11 @@ export default function main (sources) { const settingsC = Settings({DOM, props$: state$}) const fsToggler = FullScreenToggler({DOM}) const help = Help({DOM, props$: state$}) + const featureTour = FeatureTour({DOM, props$: state$}) // outputs const vtree$ = view(state$, settingsC.DOM, fsToggler.DOM, bom.DOM, gl.DOM - , entityInfos.DOM, comments.DOM, help.DOM) + , entityInfos.DOM, comments.DOM, help.DOM, featureTour.DOM) const events$ = just({ gl: gl.events, entityInfos: entityInfos.events, @@ -50,7 +52,6 @@ export default function main (sources) { // save file to user hdd const fileStorage$ = formatDataForFileStorage({sources, state$}, bom) - // return anything you want to output to sources return { DOM: vtree$, diff --git a/src/components/main/view.js b/src/components/main/view.js index e1b9c74..9083393 100644 --- a/src/components/main/view.js +++ b/src/components/main/view.js @@ -131,11 +131,11 @@ function renderRightToolbar (state, {bom}) { function renderTopToolbar (state) { const progressBar = renderProgressBar({progress: state.operationsInProgress * 100}) - return h('section#topToolBar', [ h('section.notifications', [state.notifications]), progressBar ]) + return h('section#topToolBar', [h('section.notifications', [state.notifications]), progressBar ]) } function renderUiElements (uiElements) { - const {state, settings, fsToggler, bom, gl, entityInfos, help} = uiElements + const {state, settings, fsToggler, bom, gl, entityInfos, help, featureTour} = uiElements const widgetsMapping = { //'comments': comments, @@ -152,6 +152,7 @@ function renderUiElements (uiElements) { const rightToolbar = renderRightToolbar(state, uiElements) const bottomToolBar = h('section#bottomToolBar', [settings, help, fsToggler]) const topToolbar = renderTopToolbar(state) + const overlayContainer = h('div#overlayContainer') return h('div.jam', flatten([ gl, @@ -159,7 +160,8 @@ function renderUiElements (uiElements) { leftToolbar, rightToolbar, topToolbar, - bottomToolBar + bottomToolBar, + overlayContainer ])) } @@ -174,8 +176,9 @@ function widgetNamesByToolSet (toolset) { } export default function view(state$, settings$, fsToggler$, bom$ - , gl$, entityInfos$, comment$, help$) { + , gl$, entityInfos$, comment$, help$, featureTour$) { - return combineLatestObj({state$, settings$, fsToggler$, bom$, gl$, entityInfos$, comment$, help$}) + return combineLatestObj({state$, settings$, fsToggler$, bom$ + , gl$, entityInfos$, comment$, help$, featureTour$}) .map(renderUiElements) } diff --git a/src/components/widgets/Help/index.js b/src/components/widgets/Help/index.js index 2d04c5a..472df8a 100644 --- a/src/components/widgets/Help/index.js +++ b/src/components/widgets/Help/index.js @@ -68,6 +68,13 @@ function view (state$) {

  • Click/tap outside of any object in the 3d view to clear all selections
  • +
  • + +
  • Jam version {appVersion} From 9c7e478ad3ad3bcde1ef9b4d2696e06a953e4a28 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Mon, 1 Aug 2016 09:59:27 +0200 Subject: [PATCH 6/9] feature tour functionalities --- src/components/widgets/FeatureTour/index.js | 48 +++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/components/widgets/FeatureTour/index.js diff --git a/src/components/widgets/FeatureTour/index.js b/src/components/widgets/FeatureTour/index.js new file mode 100644 index 0000000..0c52737 --- /dev/null +++ b/src/components/widgets/FeatureTour/index.js @@ -0,0 +1,48 @@ +import { combineLatestObj } from '../../../utils/obsUtils' +import { h } from '@cycle/dom' +import startUpTour from './startUpTour.js' +import hopscotch from 'hopscotch' +require('./featureTour.css') + +function intent (DOM) { + var toggle$ = DOM.select('.startUpTourButton').events('click') + .map(true) + .startWith(false) + return {toggle$} +} + +function model (props$, actions) { + const toggle$ = actions.toggle$.startWith(false) + const firstRun$ = props$.map(e => false) // needs to change later + return combineLatestObj({toggle$, firstRun$}) +} + +function view (state$) { + return state$.map(function (state) { + let active = state.toggle || state.firstRun + let tour = startUpTour() + + hopscotch.registerHelper('hideArrow', function () { + document.querySelector('.hopscotch-bubble-arrow-container').className += ' hidden' + }) + hopscotch.registerHelper('clearState', function () { + active = false + tour = undefined + }) + + if (active) { + hopscotch.startTour(tour) + // this is nescessary to fix an initial calculation bug in hopscotch + document.querySelector('.hopscotch-bubble').style.left = '25%' + } + }) +} + +export default function FeatureTour ({DOM, props$}) { + let actions = intent(DOM) + let state$ = model(props$, actions) + let vtree$ = view(state$) + return { + DOM: vtree$ + } +} From 335fbf7417383270b174d981b2cc5db659286f48 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Mon, 1 Aug 2016 09:59:44 +0200 Subject: [PATCH 7/9] start of startuptour --- .../widgets/FeatureTour/startUpTour.js | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 src/components/widgets/FeatureTour/startUpTour.js diff --git a/src/components/widgets/FeatureTour/startUpTour.js b/src/components/widgets/FeatureTour/startUpTour.js new file mode 100644 index 0000000..cff4275 --- /dev/null +++ b/src/components/widgets/FeatureTour/startUpTour.js @@ -0,0 +1,139 @@ +export default function startUpTour () { + const imagePath = './src/components/widgets/FeatureTour/images/' + const content = { + id: 'startupTour', + showPrevButton: true, + bubbleWidth: 450, + onClose: ['clearState'], + onEnd: ['clearState'], + steps: [ + { + title: 'Welcome at the first-run tour of JAM.', + content: `

    The purpose of this tour is to show you how to make the best use of JAM.

    `, + target: document.querySelector('#overlayContainer'), + placement: 'bottom', + xOffset: 'center', + arrowOffset: 'center', + onShow: ['hideArrow'] + }, + { + title: 'Assemblies', + content: `You can use JAM to make assemblies. In an assembly you put your parts together as they would be in real life. This way other people can see what the end result looks like and as a bonus other people can see how to put it together themselves. `, + target: document.querySelector('#overlayContainer'), + placement: 'bottom', + xOffset: 'center', + arrowOffset: 'center', + onShow: ['hideArrow'] + }, + { + title: 'My content', + content: '(this step only shows when no model is loaded) First let’s load a model by dragging it into JAM or click here to load an example model.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You select a part by clicking it. When a part is selected, it has a thick black outline. Unselect the part by clicking it again.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'Click here to see a list of all of your parts.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You can also add parts which do not exist as a 3D file, for example tape, bolts or glue. These parts are usually not-printable.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'When you click one of these you can copy the bill of materials as a text- or json file. You can look at this file as a to-print-and-to-get-list.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'Here on the left, you find all the tools which you use to edit or manipulate your model. Pro tip: You can manipulate multiple parts at the same time by simply selecting multiple parts. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'With the translate tool, you move parts around on the build area. When snap translation is selected, the position snaps to rounded mm’s.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You use the rotate tool to make sure that your parts are in the right orientation. When snap snap rotation is selected, it snaps to rounded degrees.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You can probably already guess what the scaling and the snap-scaling functionalities do. Uniform scaling makes sure that you can scale the model, but it stays in its original dimensions. So all sides are scaled equally. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'With the mirror tool, you can mirror you part along the x, y and z axis.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'These two tools are used to duplicate or delete a part.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'Give your parts different colours to make your assembly even more life-like. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'Perform measureents', + content: 'The last of the tools is to perform measurements on your model. You could for example measure how wide a part is and compare that to other parts.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'In the bottom right, you find everything regarding help and settings. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'With this button you can toggle between the regular screen and a full screen view. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'You can access various settings here. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'Click here for extra information on JAM or to start this startup tour again. ', + target: document.querySelector('.bomtoggler'), + placement: 'left' + }, + { + title: 'My content', + content: 'This is the end of the start-up tour. Thank you for joining.', + target: document.querySelector('.bomtoggler'), + placement: 'left' + } + ] + } + return content +} From 9047b0e96037973cefb7003b320c0c7d2e1b3143 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Mon, 1 Aug 2016 09:59:56 +0200 Subject: [PATCH 8/9] styling stuff and pics --- .../widgets/FeatureTour/featureTour.css | 84 ++++++++++++++++++ .../widgets/FeatureTour/images/bunny.jpg | Bin 0 -> 29695 bytes .../FeatureTour/images/solar_system.jpg | Bin 0 -> 68025 bytes 3 files changed, 84 insertions(+) create mode 100644 src/components/widgets/FeatureTour/featureTour.css create mode 100644 src/components/widgets/FeatureTour/images/bunny.jpg create mode 100644 src/components/widgets/FeatureTour/images/solar_system.jpg diff --git a/src/components/widgets/FeatureTour/featureTour.css b/src/components/widgets/FeatureTour/featureTour.css new file mode 100644 index 0000000..4be9517 --- /dev/null +++ b/src/components/widgets/FeatureTour/featureTour.css @@ -0,0 +1,84 @@ +.hopscotch-bubble-container{ + display: inline-block; + font-family: 'Open Sans', sans-serif; + z-index: 1000; + background-color: white; + /*width: 700px !important;*/ + border: 1px solid #dddddd; + font-size: 0.7em; +} + +.hopscotch-bubble-number{ + display: none; +} + +.hopscotch-title{ + margin-top: 5px; +} + +.hopscotch-content{ + display: inline-block; + width: 100% +} + +.featureTourImage{ + display: block; +} +.imageLeft{ + float: left; + margin-right: 15px; +} +.imageRight{ + float: right; + margin-left: 15px; +} + +.hopscotch-actions{ + display: block; + margin-top: 10px; + float: right; +} + +.hopscotch-nav-button{ + display: inline-block; + background: #5fc5fb; + color: #ffffff; +} + +.hopscotch-bubble-close, .hopscotch-bubble-close:hover{ + position: absolute; + top: 15; + right: 15; + width: 20px; height: 20px; + background: #F5F5F5 url("data:image/svg+xml;utf8,") !important; + text-indent: -9999px; +} + +.hidden{ + display: none; +} + +.hopscotch-bubble-arrow, .hopscotch-bubble-arrow-border{ + position: absolute; + top: -8px; + left: 17px; + margin: 0; + border-top: 0; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-bottom: 10px solid white; + padding: 0; + width: 0; + height: 0; + /* ie6 height fix */ + font-size: 0; + line-height: 0; + /* ie6 transparent fix */ + _border-right-color: pink; + _border-left-color: pink; + _filter: chroma(color=pink); +} + +.hopscotch-bubble-arrow-border{ + border-bottom-color: #dddddd; top: -9px; +} diff --git a/src/components/widgets/FeatureTour/images/bunny.jpg b/src/components/widgets/FeatureTour/images/bunny.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8e01d750bcb448f0d08342522041ce4517eb0863 GIT binary patch literal 29695 zcmbTd1z23m(k{Hn;2H=JEa(t|y9IaG;O;KN;4Xn6!3huumf*pHy9F2=5(w@dAb4=Q zL-sj)pYuKUzxO_W58d;ws_N>h>RR2ig!}3HW#F;Aw45}6fB*op@DFgm0*Fd^*;)aB zk`llG001h05N-<~!Vz2qAc0o^c$D+#Z^~&7=x@CHz`WlB_*8A2-JD%*oFSB)ENlRu zxSSH=g9do{gK7W3$3LD$&%^;$h}%JE?|)s02i&is{FIZBFjiGpk(N`G`ePKzv?&DQ z@Q4xs9G%>t>N4V#I=Xt4C^Nt#fEd7l+k;_h?g|l8RaJb@`5^m8_kT5KlYeXn#+m>3 z{QnaEp9dHgmagV-=TYGdXA4(zM>zHZ0Hh3a2-FP#Q1Ib&K2JBu1Aedp9||`Rj!ho0 z^deAAa3I7aQqyeD%9@wnqqJa&!tDQR#0h8IEL$a1hsLO{WnhcvC+_m z(+T19uTEylD*x&`ZSE=ok0n42r{CFF%00xF8~{L+wr+A7a17T25{5dfKgh#v09jdB zN=m^o6C6j`J1acc0M`ksbM<)jK!31j+Q&xX!OjQzke#W#DjdVJ8nkNZAoCy(9}9E? zaZ~-54T$7U4$2SX!pB0Cv~>OBFI*2IxtooKESwG>7tz5Ds`0PBi1Ajo(sKWjud;#4 zKF}Zf&O#jiZyDx4{agWiINcWT_``FBx2k_6 z|LXZ~SxUefPIUr){*g5YB*^mtceo}S;1`@~^S4e)KmvZ`4yRfFf9UzkmhFG(aYlTK z$cD%XuL6jQh(d^bi2ML0q6nfWqA;Q)oXU?V@V9PNc%OfJ^kC06e3ZZRxWGrW{3E9Y z_q`MDqZ?ofZ&%}|FV6q){}ttjnX-k?sPlix{m;4hx0D#%Q-?o2 z9pO>1h5KyzA3ihxr;c8~7NUPfn?P(Z7{~1OvvP_j`G@)t1

    dGi4xz=^rZF6x$x# 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 -L8ppeOX0DwpCAzsu=xWer-J}hCo__w9 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 literal 0 HcmV?d00001 From e61ef665a1abc19b573a43cfd7ff6d9f93daa7b0 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Wed, 31 Aug 2016 14:51:18 +0200 Subject: [PATCH 9/9] technical implementation of the startup tour --- .../widgets/FeatureTour/featureTour.css | 90 +++++++++++++++---- src/components/widgets/FeatureTour/index.js | 33 ++++--- .../widgets/FeatureTour/startUpTour.js | 26 +++--- src/components/widgets/Help/help.css | 4 + src/components/widgets/Help/index.js | 10 +-- 5 files changed, 115 insertions(+), 48 deletions(-) diff --git a/src/components/widgets/FeatureTour/featureTour.css b/src/components/widgets/FeatureTour/featureTour.css index 4be9517..b382e82 100644 --- a/src/components/widgets/FeatureTour/featureTour.css +++ b/src/components/widgets/FeatureTour/featureTour.css @@ -58,27 +58,79 @@ display: none; } -.hopscotch-bubble-arrow, .hopscotch-bubble-arrow-border{ +.hopscotch-bubble-arrow-container { position: absolute; - top: -8px; - left: 17px; - margin: 0; - border-top: 0; - border-left: 10px solid transparent; - border-right: 10px solid transparent; - border-bottom: 10px solid white; - padding: 0; + width: 15px; + height: 15px; +} +.hopscotch-bubble-arrow-container .hopscotch-bubble-arrow, +.hopscotch-bubble-arrow-container .hopscotch-bubble-arrow-border { width: 0; height: 0; - /* ie6 height fix */ - font-size: 0; - line-height: 0; - /* ie6 transparent fix */ - _border-right-color: pink; - _border-left-color: pink; - _filter: chroma(color=pink); } - -.hopscotch-bubble-arrow-border{ - border-bottom-color: #dddddd; top: -9px; +.hopscotch-bubble-arrow-container.up { + top: -15px; + left: 7px; +} +.hopscotch-bubble-arrow-container.up .hopscotch-bubble-arrow { + border-bottom: 15px solid #fff; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + position: relative; + top: -14px; +} +.hopscotch-bubble-arrow-container.up .hopscotch-bubble-arrow-border { + border-bottom: 15px solid #dddddd; + border-left: 15px solid transparent; + border-right: 15px solid transparent; +} +.hopscotch-bubble-arrow-container.down { + bottom: -15px; + left: 7px; +} +.hopscotch-bubble-arrow-container.down .hopscotch-bubble-arrow { + border-top: 15px solid #fff; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + position: relative; + bottom: 16px; +} +.hopscotch-bubble-arrow-container.down .hopscotch-bubble-arrow-border { + border-top: 15px solid #dddddd; + border-left: 15px solid transparent; + border-right: 15px solid transparent; +} +.hopscotch-bubble-arrow-container.left { + top: 10px; + left: -15px; +} +.hopscotch-bubble-arrow-container.left .hopscotch-bubble-arrow { + border-bottom: 15px solid transparent; + border-right: 15px solid #fff; + border-top: 15px solid transparent; + position: relative; + left: 1px; + top: -30px; +} +.hopscotch-bubble-arrow-container.left .hopscotch-bubble-arrow-border { + border-right: 15px solid #dddddd; + border-bottom: 15px solid transparent; + border-top: 15px solid transparent; +} +.hopscotch-bubble-arrow-container.right { + top: 10px; + right: -15px; +} +.hopscotch-bubble-arrow-container.right .hopscotch-bubble-arrow { + border-bottom: 15px solid transparent; + border-left: 15px solid #fff; + border-top: 15px solid transparent; + position: relative; + right: 1px; + top: -30px; +} +.hopscotch-bubble-arrow-container.right .hopscotch-bubble-arrow-border { + border-left: 15px solid #dddddd; + border-bottom: 15px solid transparent; + border-top: 15px solid transparent; } diff --git a/src/components/widgets/FeatureTour/index.js b/src/components/widgets/FeatureTour/index.js index 0c52737..a63a81e 100644 --- a/src/components/widgets/FeatureTour/index.js +++ b/src/components/widgets/FeatureTour/index.js @@ -3,37 +3,44 @@ import { h } from '@cycle/dom' import startUpTour from './startUpTour.js' import hopscotch from 'hopscotch' require('./featureTour.css') +import rx from 'Rx' function intent (DOM) { - var toggle$ = DOM.select('.startUpTourButton').events('click') - .map(true) - .startWith(false) - return {toggle$} + const closeSelection = new rx.ReplaySubject() + hopscotch.registerHelper('clearState', function () { + closeSelection.onNext(false) + }) + + let selected$ = DOM.select('.startUpTourLink').events('click') + .map(true) + .startWith(false) + .merge(closeSelection) + return {selected$} } function model (props$, actions) { - const toggle$ = actions.toggle$.startWith(false) + const selected$ = actions.selected$.startWith(false) const firstRun$ = props$.map(e => false) // needs to change later - return combineLatestObj({toggle$, firstRun$}) + return combineLatestObj({selected$, firstRun$}) } function view (state$) { return state$.map(function (state) { - let active = state.toggle || state.firstRun + let active = state.selected || state.firstRun + // you can also use this to load other feature tours then just the startup tour let tour = startUpTour() hopscotch.registerHelper('hideArrow', function () { document.querySelector('.hopscotch-bubble-arrow-container').className += ' hidden' }) - hopscotch.registerHelper('clearState', function () { - active = false - tour = undefined - }) - if (active) { hopscotch.startTour(tour) + // this is nescessary to fix an initial calculation bug in hopscotch - document.querySelector('.hopscotch-bubble').style.left = '25%' + if (parseInt(document.querySelector('.hopscotch-bubble').style.left) < 0) { + console.log('hij is kleiner dan 0') + document.querySelector('.hopscotch-bubble').style.left = '25%' + } } }) } diff --git a/src/components/widgets/FeatureTour/startUpTour.js b/src/components/widgets/FeatureTour/startUpTour.js index cff4275..9738a47 100644 --- a/src/components/widgets/FeatureTour/startUpTour.js +++ b/src/components/widgets/FeatureTour/startUpTour.js @@ -1,41 +1,47 @@ export default function startUpTour () { const imagePath = './src/components/widgets/FeatureTour/images/' + // look here on how to position the bubbles: http://linkedin.github.io/hopscotch/ + // if the bubble goes off the screen by how it is positoned relative to the target, + // use xOffset, yOffseten and arrowOffset to position it within the screen again. const content = { id: 'startupTour', showPrevButton: true, bubbleWidth: 450, + // it's very important to clear the state on close and on end. Don't remove this. onClose: ['clearState'], onEnd: ['clearState'], steps: [ { title: 'Welcome at the first-run tour of JAM.', - content: `

    The purpose of this tour is to show you how to make the best use of JAM.

    `, + content: `

    The purpose of this tour is to show you how to make the best use of JAM. This is a callout

    `, target: document.querySelector('#overlayContainer'), placement: 'bottom', xOffset: 'center', arrowOffset: 'center', + // use the hideArrow helper to hide the arrow and create a call out. onShow: ['hideArrow'] }, { title: 'Assemblies', - content: `You can use JAM to make assemblies. In an assembly you put your parts together as they would be in real life. This way other people can see what the end result looks like and as a bonus other people can see how to put it together themselves. `, + content: `You can use JAM to make assemblies. In an assembly you put your parts together as they would be in real life. This way other people can see what the end result looks like and as a bonus other people can see how to put it together themselves. placement bottom, xoffset center `, target: document.querySelector('#overlayContainer'), placement: 'bottom', xOffset: 'center', - arrowOffset: 'center', - onShow: ['hideArrow'] + arrowOffset: 'center' }, { title: 'My content', - content: '(this step only shows when no model is loaded) First let’s load a model by dragging it into JAM or click here to load an example model.', - target: document.querySelector('.bomtoggler'), - placement: 'left' + content: 'placement right (this step only shows when no model is loaded) First let’s load a model by dragging it into JAM or click here to load an example model.', + target: document.querySelector('.toMirrorMode'), + placement: 'right' }, { title: 'My content', - content: 'You select a part by clicking it. When a part is selected, it has a thick black outline. Unselect the part by clicking it again.', - target: document.querySelector('.bomtoggler'), - placement: 'left' + content: 'placement top, xoffset right You select a part by clicking it. When a part is selected, it has a thick black outline. Unselect the part by clicking it again.', + target: document.querySelector('.settingsToggler'), + placement: 'top', + xOffset: -425, + arrowOffset: 425 }, { title: 'My content', diff --git a/src/components/widgets/Help/help.css b/src/components/widgets/Help/help.css index 2f1d4e1..7363568 100644 --- a/src/components/widgets/Help/help.css +++ b/src/components/widgets/Help/help.css @@ -34,3 +34,7 @@ display: block; line-height: 1; } + +.startUpTourLink .textLink{ + font-size: 1em; +} diff --git a/src/components/widgets/Help/index.js b/src/components/widgets/Help/index.js index 472df8a..b814e21 100644 --- a/src/components/widgets/Help/index.js +++ b/src/components/widgets/Help/index.js @@ -68,12 +68,10 @@ function view (state$) {
  • Click/tap outside of any object in the 3d view to clear all selections
  • -
  • - +
  • + + Click here to take the startup tour. +