Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
603 commits
Select commit Hold shift + click to select a range
c500567
[Fixes #79042844] setting box-sizing to border-box for sprites so tha…
LorienHW Oct 6, 2014
828ceae
Separate out bugs that need specs, add assertions for the rest
mcarlson Oct 7, 2014
07caede
Improve warnings for missing classes, allow HTML comments inside tags…
mcarlson Oct 7, 2014
1c58f2a
Use setTimeout instead of idle() in case there are multiple oninit ev…
mcarlson Oct 7, 2014
70a87a1
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Oct 7, 2014
4dbe83b
Warn when phantomrunner sees unexpected output.
mcarlson Oct 8, 2014
2fd49bb
Update readme
mcarlson Oct 8, 2014
6aa7a8f
Fix compiler cache
mcarlson Oct 8, 2014
57bbe01
Only remove comments in debug mode
mcarlson Oct 8, 2014
a365c14
Delay oninit until all children are created
mcarlson Oct 8, 2014
c180dd2
Merge branch 'master' of github.com:teem2/dreem
cabbibo Oct 8, 2014
1c09c92
Fix issue with checkbuttons
mcarlson Oct 8, 2014
c9c26c5
Merge pull request #30 from teem2/view_boxsizing_79042844
mcarlson Oct 8, 2014
e80eef4
Show files being run, don't dump expected results to the console
mcarlson Oct 8, 2014
003f783
Rebuild docs
mcarlson Oct 8, 2014
d41ebf1
More docs
mcarlson Oct 8, 2014
9e5c64b
Add replication test
mcarlson Oct 8, 2014
c74a1da
Improve test runner error reporting, run files in the right order, al…
mcarlson Oct 8, 2014
59370d3
Add testcase
mcarlson Oct 8, 2014
13dd7b1
Improve warnings for invalid types
mcarlson Oct 9, 2014
23356a0
More smoke tests
mcarlson Oct 9, 2014
a173545
Rename /bugs -> /smoke
mcarlson Oct 9, 2014
e2a5505
[Fixes #80351198] adjust width and height calculation on buttons that…
LorienHW Oct 10, 2014
dd0cae4
Default value of timeout is used if no argument is supplied to update…
promanik Oct 10, 2014
6a62f94
Modify readme regarding Windows. capybara-webkit requires 32-bit vers…
promanik Oct 11, 2014
eb6545d
Remove on... event handlers from elements
mcarlson Oct 14, 2014
f81e447
Document inputtext.onchange event
mcarlson Oct 14, 2014
55a5fe5
#79642664 - Modified ace to work like inputtext to support dreem synt…
promanik Oct 15, 2014
a3f466d
Merge branch 'ace_79642664'
promanik Oct 15, 2014
d12ed82
moving text component out of .dre file and into the core
LorienHW Oct 15, 2014
1330383
[Fixes #78690552] overriding setAttribute for text component so that …
LorienHW Oct 17, 2014
4e23194
changing the default fov on threejs class
cabbibo Oct 18, 2014
d37d9e7
Merge branch 'master' of github.com:teem2/dreem
cabbibo Oct 18, 2014
708346d
Merge pull request #31 from teem2/text_sprite_80674170
mcarlson Oct 21, 2014
89a94ce
Revert "Text sprite 80674170"
mcarlson Oct 21, 2014
7ffa896
Merge pull request #32 from teem2/revert-31-text_sprite_80674170
mcarlson Oct 21, 2014
4c1e68d
Fix bogus js includes
mcarlson Oct 21, 2014
f87815d
Prevent warnings when using <ace></ace>
mcarlson Oct 21, 2014
a85253e
Update expected.txt to match phantomrunner output
mcarlson Oct 21, 2014
4307c1f
Fix warnings in Firefox
mcarlson Oct 21, 2014
3e12bae
Improve warnings for class load failures
mcarlson Oct 21, 2014
d1ecf48
Send mouseover event before mousedown
mcarlson Oct 21, 2014
e12aa7d
Add music file for audio examples
mcarlson Oct 22, 2014
a120d5f
https://www.pivotaltracker.com/story/show/81225682. Remove dependency…
promanik Oct 22, 2014
845bcdc
Merge branch 'master' of https://github.com/teem2/dreem
promanik Oct 22, 2014
16e8919
[#79246500] Improved ace examples by showing an example with inline d…
promanik Oct 22, 2014
317c1c7
[#80664234] [Fixes #79231024] moved inputtext from dre file to the c…
LorienHW Oct 17, 2014
2a6c268
[Fixes #79559390] can now include text and handlers inside of the inp…
LorienHW Oct 19, 2014
4c6eb5f
split the Sprite.text method into two methods - getter and setter sin…
LorienHW Oct 21, 2014
1217f71
[#80664234] moved sprite creation into an overridable method so that …
LorienHW Oct 23, 2014
6788634
deleting old inputtext dre file
LorienHW Oct 23, 2014
78280c7
Merge pull request #33 from teem2/inputtext_sprite_80664234
LorienHW Oct 23, 2014
71df61c
[#78690552] [#80674170] moved text component out of dre file, into co…
LorienHW Oct 24, 2014
6f90906
Merge pull request #34 from teem2/text_sprite_80674170
LorienHW Oct 24, 2014
294fe86
Added dreem_object component to be a wrapper for the object tag. Exam…
promanik Oct 25, 2014
bc5d793
dreem_object will modify svg files, if necessary, so they size to the…
promanik Oct 28, 2014
73dd4de
Avoid loading includes more than once
mcarlson Oct 30, 2014
e78feb8
Split svg functionality from object. svg code can be specified inline…
promanik Oct 30, 2014
86984b9
Name changes:
promanik Oct 31, 2014
e432cb3
Make boundslayout aware of padding
mcarlson Oct 31, 2014
5a88d71
Adding dynamic attribute constraint guide
gnovos Oct 31, 2014
f166d97
Warn on CSS passthrough
mcarlson Oct 31, 2014
c9a66ef
[Fixes #81711014] fixing oninit timing for nodes with children so it …
LorienHW Oct 30, 2014
a1e4a50
Merge pull request #36 from teem2/oninit_consistency_81711014
LorienHW Oct 31, 2014
5e72831
[Fixes #81205368] cleaning up default attribute initialization sequen…
LorienHW Oct 30, 2014
7e1a9d3
removing console logs from a previous commit
LorienHW Oct 31, 2014
12b38ae
Merge pull request #37 from teem2/default_attr_init_81205368
LorienHW Oct 31, 2014
2ff29ad
Fix regression with boundslayout
mcarlson Nov 1, 2014
1386b2d
Add smoketest for multiline text measurement
mcarlson Nov 1, 2014
cb0aa93
Add inputtext sizing smoketest
mcarlson Nov 1, 2014
5ce1567
Suppress spurious pointer event CSS warnings
mcarlson Nov 1, 2014
c6af878
Use bgcolor in data.html to avoid warning
mcarlson Nov 1, 2014
1c6cfe9
Fix text and inputtext sizing regressions
mcarlson Nov 1, 2014
479426e
Fix event locking
mcarlson Nov 2, 2014
98b8610
Add more docs on headless tests
mcarlson Nov 2, 2014
b62f54e
Fix text measurement tests for phantom
mcarlson Nov 2, 2014
da4063b
Refactor event locking
mcarlson Nov 2, 2014
60ef7b5
Coerce types before setting styles
mcarlson Nov 2, 2014
3f25827
Fix text measurement when a view is hidden
mcarlson Nov 2, 2014
96d557c
Clean up and refactor text and inputtext
mcarlson Nov 2, 2014
8d7e241
Add support for multiline inputtext
mcarlson Nov 2, 2014
38c6e88
Rebuild docs
mcarlson Nov 2, 2014
b0a0819
Add missing smoketest
mcarlson Nov 2, 2014
703af8c
Only warn about unknown CSS properties in debug mode
mcarlson Nov 2, 2014
f85cf46
removing alert dialog that causes the specs to fail
LorienHW Nov 2, 2014
9c47edc
merge with master
gnovos Nov 3, 2014
150b751
probably need to keep this if we're keeping generated documentation
gnovos Nov 3, 2014
e058923
additional smoke tests for inputtext
LorienHW Nov 3, 2014
5bb8741
Applied changes from Max's review.
promanik Nov 3, 2014
723cbad
Merge pull request #39 from teem2/jsduck_tags
mcarlson Nov 4, 2014
aea9fd6
Merge pull request #35 from teem2/feature_vector_graphics
mcarlson Nov 4, 2014
a5ad61c
Update doc comments
mcarlson Nov 4, 2014
1e368f4
Update docs
mcarlson Nov 4, 2014
30b07a9
Document view.animate's duration argument
mcarlson Nov 4, 2014
395d3e2
Update docs
mcarlson Nov 4, 2014
58430ce
Fix regression when instantiating a class with child views
mcarlson Nov 4, 2014
5ee43ad
Document dataset.data property
mcarlson Nov 4, 2014
2fecb89
Move static images/assets into /images directory.
promanik Nov 4, 2014
3df3b11
[Fixes #81883294] test case
LorienHW Nov 4, 2014
9991fde
[Fixes #81448830] remove call to setText when text sprite is created …
LorienHW Oct 31, 2014
e855a77
[#81448830] Now the text attribute evaluates to the empty string if i…
LorienHW Nov 4, 2014
c1b3bc7
[Fixes #82049700][#82060254] setting text in attributes rather than d…
LorienHW Nov 4, 2014
055580e
Merge pull request #40 from teem2/inputtext_constraint_literal_82049700
mcarlson Nov 4, 2014
466b152
Merge pull request #38 from teem2/text_constraint_regression_81448830
mcarlson Nov 4, 2014
472c3ed
Fix data bound text
mcarlson Nov 5, 2014
ac2eaf0
Fix handlers with references to siblings
mcarlson Nov 5, 2014
17b1736
Clean up examples
mcarlson Nov 5, 2014
2b0cf46
Make sure layout.js.map is included in commits
mcarlson Nov 5, 2014
577abd9
Fix regression with states
mcarlson Nov 5, 2014
6431b02
Clean up cruft
mcarlson Nov 5, 2014
c1835d4
Revert "Clean up cruft"
mcarlson Nov 5, 2014
7cf5533
Clean up cruft for real
mcarlson Nov 5, 2014
e94c27b
clean up formatting
LorienHW Nov 5, 2014
79f3de0
removing databinding hack for inputtext which is no longer needed as …
LorienHW Nov 5, 2014
ceb0dce
comment to explain duplicate line of code, which might look unnecessary
LorienHW Nov 5, 2014
e873e01
Fix regression in audio.html
mcarlson Nov 5, 2014
ddd1a7f
Use correct CS syntax to detect null/undefined
mcarlson Nov 5, 2014
34cdb4c
[#79229852] added assert to this test case so it can be run automated
LorienHW Nov 5, 2014
c7051ee
[#81910464] reorg of test files
LorienHW Nov 5, 2014
a956ca8
[#81910464] reorg of tests
LorienHW Nov 5, 2014
dd4de04
Back out changes to states, add assertion to test
mcarlson Nov 6, 2014
6ff7a26
Add illustrator cs5 source file for SVG
mcarlson Nov 6, 2014
7f20dd4
Document art tag
mcarlson Nov 6, 2014
484145c
Add missing file used by dataset documentation
mcarlson Nov 6, 2014
8c62141
Adding range slider
gnovos Nov 6, 2014
a893788
Add refresh() to manually refresh a replicator
mcarlson Nov 6, 2014
e6a78e0
don't do this
gnovos Nov 6, 2014
10df07a
merge with master
gnovos Nov 6, 2014
1e78001
Merge pull request #41 from teem2/rangeslider
gnovos Nov 6, 2014
eef0170
[Fixes #82137230] test case for replicator data bound to a constraint
LorienHW Nov 6, 2014
54008bf
simple modification to layout to make visual test output more clear
LorienHW Nov 6, 2014
2b15df6
Implemented a scrollable attributes to make sprites and thus views sc…
maynarddemmon Nov 7, 2014
63f2a35
Reworked how overflow and pointer-events are set based on feedback fr…
maynarddemmon Nov 7, 2014
448a0ce
Syntax change: Make two assignments on one line.
maynarddemmon Nov 7, 2014
a95460e
Merge pull request #42 from teem2/scrollable
maynarddemmon Nov 7, 2014
2e58096
Rolling back scrollable change to the version that stored local value…
maynarddemmon Nov 7, 2014
cad3a11
cleaning up examples
gnovos Nov 12, 2014
0841374
clean up examples
gnovos Nov 12, 2014
12b8633
adding @attribute custom tag
gnovos Nov 12, 2014
1ce281a
adding new visual handler examples
gnovos Nov 12, 2014
fd8d0f8
Merge pull request #47 from teem2/cfg2attribute
gnovos Nov 12, 2014
b45cc2a
merge with master
gnovos Nov 12, 2014
f28c5ad
Merge pull request #48 from teem2/visual_handlers
gnovos Nov 12, 2014
966f292
Added an invokesuper attr to setters and methods to allow control ove…
maynarddemmon Nov 8, 2014
e6dd1c1
merge with master
gnovos Nov 12, 2014
72f5a3a
Merge pull request #46 from teem2/rangeslider
gnovos Nov 12, 2014
05dfa47
missed a line in merge
gnovos Nov 12, 2014
74d8998
Merge from master to invokesuper
maynarddemmon Nov 12, 2014
31d7e00
Merged invokesuper to master.
maynarddemmon Nov 12, 2014
5fac0e9
[Fixes #82674656] coercing the multiline attribute before creating th…
LorienHW Nov 13, 2014
99ea834
Fix for bug #79635844. The root problem is that HTML5 is case-insensi…
maynarddemmon Nov 9, 2014
f9eb385
Scaled back the change to only attributes, setters and class names. L…
maynarddemmon Nov 13, 2014
cc657f4
Merge pull request #45 from teem2/caseissues
maynarddemmon Nov 13, 2014
d9cddaa
Making padding and border standard config on views. innerSize method …
LorienHW Oct 21, 2014
748ec13
changed test to use chai for assertion testing
LorienHW Nov 14, 2014
352510c
Fix for #82687322. Store the removed node in a local variable then re…
maynarddemmon Nov 14, 2014
f049f55
When binding a handler if the attribute value associated with the han…
maynarddemmon Nov 14, 2014
b232033
Use a lowercase attribute names
mcarlson Nov 15, 2014
c54cc79
set_name now occurs before set_parent.
maynarddemmon Nov 14, 2014
64f2a81
Merge pull request #50 from teem2/namefirst
maynarddemmon Nov 15, 2014
f310b17
The super implementation was not handling return values for the "afte…
maynarddemmon Nov 15, 2014
26b21d2
Prevent text selection
mcarlson Nov 15, 2014
5540b19
Refactor event locking
mcarlson Nov 15, 2014
48a39c8
New version of art that doesn't require an object tag for embedding. …
promanik Nov 15, 2014
4db3def
Use simplified compile path for non-debug mode
mcarlson Nov 15, 2014
6bf4b1f
Optimize setStyle
mcarlson Nov 15, 2014
a664033
Clean up internal setStyle calls to prevent warnings
mcarlson Nov 15, 2014
7250d85
Avoid calling setStyle for known attributes
mcarlson Nov 15, 2014
05113a1
Add missing snap.svg
promanik Nov 15, 2014
6ca85f7
Move touch emulation to dr.mouse
mcarlson Nov 16, 2014
7758d4e
Merge pull request #51 from teem2/art_v2
promanik Nov 16, 2014
01f41a4
Improve event locking
mcarlson Nov 16, 2014
41624e5
Fixed clipping of graphics by computing the enclosing rectangle to pi…
promanik Nov 16, 2014
b1c8cbc
Allow attribute.visible=false to be set
mcarlson Nov 16, 2014
62a82eb
Merge from master
mcarlson Nov 16, 2014
1a194be
Added a second example that demonstrates morphing and sending svg eve…
promanik Nov 16, 2014
153ec3c
Improve art documentation
mcarlson Nov 16, 2014
64a5424
Doc cleanup, rename dreem_iframe to webpage
mcarlson Nov 16, 2014
6c2f11c
Fix broken example
mcarlson Nov 16, 2014
98c2368
Fix another broken example
mcarlson Nov 16, 2014
b3f3fba
Clean up event naming
mcarlson Nov 16, 2014
6ed9832
Add ability to control art's aspect ratio, animation speed and curve
mcarlson Nov 16, 2014
05c7bfd
Fancier example
mcarlson Nov 16, 2014
4692424
[#82799268] Add stretches attributes to art. The default is false. Wh…
promanik Nov 16, 2014
81d8d5d
Added methods and events for subnode, subview and layout add/remove.
maynarddemmon Nov 14, 2014
d5ac443
Eliminated the "any" type.
maynarddemmon Nov 16, 2014
2be8786
Merge branch 'master' into art_stretches_82799268
promanik Nov 16, 2014
879552d
Added in listener for parent init to improve performance regardless o…
maynarddemmon Nov 16, 2014
70b0bcd
Merged from master and removed Maxs preserveaspectratio attribute and…
promanik Nov 16, 2014
ea1f767
Merge pull request #53 from teem2/art_stretches_82799268
promanik Nov 16, 2014
13c3549
Factored away "any" type. Reworked to use handlers.
maynarddemmon Nov 16, 2014
8d034ab
Making padding and border standard config on views. innerSize method …
LorienHW Oct 21, 2014
411471e
Merge branch 'padding_border_80663306' of https://github.com/teem2/dr…
mcarlson Nov 17, 2014
51ccaa1
Merge pull request #49 from teem2/padding_border_80663306
mcarlson Nov 17, 2014
c9b40ea
Small tweaks to fix the doc builds
mcarlson Nov 17, 2014
8a47775
Make the autoloader recursively load missing classes
mcarlson Nov 17, 2014
bea0ad4
Add ./bin/buildminify script
mcarlson Nov 17, 2014
9a9fc11
Added methods and events for subnode, subview and layout add/remove.
maynarddemmon Nov 14, 2014
c416bcb
getAbsolute() should account for scroll position
mcarlson Nov 17, 2014
a0b360b
Improve mouseover/out on touch devices
mcarlson Nov 17, 2014
89510a0
Account for scroll position
mcarlson Nov 17, 2014
214dc4d
Update for latest server
mcarlson Nov 17, 2014
6d034db
Merge branch 'master' into improve_performance
mcarlson Nov 17, 2014
daa6d9f
Merge pull request #52 from teem2/improve_performance
mcarlson Nov 17, 2014
a63ad19
Fix braino
mcarlson Nov 17, 2014
e52ae2b
Fix warnings for missing class name attribute
mcarlson Nov 17, 2014
c5a7f0e
Merge from master
mcarlson Nov 17, 2014
412100c
Merge branch 'layout' of https://github.com/teem2/dreem into layout
mcarlson Nov 17, 2014
33849ed
Merge branch 'master' into layout
mcarlson Nov 17, 2014
45eb44c
Merge pull request #54 from teem2/layout
mcarlson Nov 17, 2014
4cac9f8
Rebuild docs
mcarlson Nov 17, 2014
536cbc5
Add auto reload support
mcarlson Nov 18, 2014
5cd1411
simplify file watcher protocol
mcarlson Nov 18, 2014
e28461c
Prevent warnings in smoketest
mcarlson Nov 18, 2014
59cd88a
WIP
gnovos Nov 18, 2014
d025c72
Merge branch 'master' into jsautoduck
gnovos Nov 18, 2014
8ca64a4
replacing assert.js with chai.js
LorienHW Nov 18, 2014
42e065d
Fix shim to echo instead of relying on the server
mcarlson Nov 19, 2014
79d8054
Make cursor position update across timeline instances
mcarlson Nov 19, 2014
3bc8d14
Merge branch 'master' of https://github.com/teem2/dreem
mcarlson Nov 19, 2014
3dc8334
Autogenerate guides.json and categories.json automatically. Use '@cl…
gnovos Nov 19, 2014
a405103
Merge branch 'master' into jsautoduck
gnovos Nov 19, 2014
48b105d
replacing assert.js with chai.js to get better error outputting and B…
LorienHW Nov 19, 2014
4d0c5da
adding better error reporting to identify failing assertions
LorienHW Nov 19, 2014
cdb65f2
Fixed up super.html smoketest to use arrays, more documentation of th…
maynarddemmon Nov 19, 2014
5a2b873
Premptively fixing #82990260 since I am pretty sure it was a merge er…
maynarddemmon Nov 19, 2014
4925309
Updated node.html smoketest. Found a problem with init order. Fixed p…
maynarddemmon Nov 19, 2014
77f8c64
switch category
gnovos Nov 20, 2014
6069012
Merge pull request #56 from teem2/jsautoduck
gnovos Nov 20, 2014
afa9c0d
remove console logs to clean up test output
LorienHW Nov 20, 2014
b95cec1
[#83086612] failing spec for this bug
LorienHW Nov 20, 2014
6a9f97f
Moved page inside runTest to avoid race conditions. I don't see RESOU…
promanik Nov 20, 2014
a4d931a
Merge pull request #58 from teem2/phantomrunner_80307044
mcarlson Nov 20, 2014
991a2ce
Fix clicking into input texts
mcarlson Nov 20, 2014
2994073
Add labletoggle example
mcarlson Nov 21, 2014
9efe075
Moved all examples under an examples directory.
maynarddemmon Nov 21, 2014
a0c680e
Fix spec/inputtext_spec.rb
mcarlson Nov 21, 2014
fd434ea
Removed all references to simplelayout and replaced them with spacedl…
maynarddemmon Nov 21, 2014
42c8d0d
Merge branch 'master' of github.com:teem2/dreem
maynarddemmon Nov 21, 2014
9c535d6
Replaced all references to boundslayout with shrinktofit.
maynarddemmon Nov 22, 2014
84cda57
Removed wraplayout and replaced with wrappinglayout.
maynarddemmon Nov 22, 2014
18a9bcf
Cleaned up timeline example and eliminated timelayout.dre since we ca…
maynarddemmon Nov 22, 2014
d82c8e5
Removed all remnants of the old layout system.
maynarddemmon Nov 22, 2014
fd74a02
Forgot to remove the [nf] from the names.
maynarddemmon Nov 22, 2014
49cb103
Reworked border and padding so that runtime changes can be made.
maynarddemmon Nov 18, 2014
c75aefd
Merge pull request #55 from teem2/borderpadding
maynarddemmon Nov 22, 2014
5e25fc3
Fix for #83266316. Made a single stylemap and inverted it for hacksty…
maynarddemmon Nov 23, 2014
c8b7105
Merge pull request #63 from teem2/stylemap
maynarddemmon Nov 23, 2014
50fe83f
Minor optimization to % constraints for x,y,width,height.
maynarddemmon Nov 23, 2014
baf7b1a
constraint unbinding
mcarlson Nov 23, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@

*.map
.idea
**/.idea
apidocs/
.DS_Store
*.marks
1 change: 1 addition & 0 deletions .ruby-gemset
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dreem
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ruby-2.0.0-p481
9 changes: 9 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
source 'https://rubygems.org'

gem 'jsduck'

gem 'rspec'
gem 'capybara'
gem 'poltergeist'
gem 'selenium-webdriver'
# gem 'capybara-webkit'
70 changes: 70 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
GEM
remote: https://rubygems.org/
specs:
capybara (2.4.3)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
childprocess (0.5.5)
ffi (~> 1.0, >= 1.0.11)
cliver (0.3.2)
diff-lcs (1.2.5)
dimensions (1.2.0)
ffi (1.9.5)
jsduck (5.3.4)
dimensions (~> 1.2.0)
json (~> 1.8.0)
parallel (~> 0.7.1)
rdiscount (~> 2.1.6)
rkelly-remix (~> 0.0.4)
json (1.8.1)
mime-types (2.3)
mini_portile (0.6.0)
multi_json (1.10.1)
nokogiri (1.6.3.1)
mini_portile (= 0.6.0)
parallel (0.7.1)
poltergeist (1.5.1)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
rack (1.5.2)
rack-test (0.6.2)
rack (>= 1.0)
rdiscount (2.1.7.1)
rkelly-remix (0.0.6)
rspec (3.1.0)
rspec-core (~> 3.1.0)
rspec-expectations (~> 3.1.0)
rspec-mocks (~> 3.1.0)
rspec-core (3.1.5)
rspec-support (~> 3.1.0)
rspec-expectations (3.1.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.1.0)
rspec-mocks (3.1.2)
rspec-support (~> 3.1.0)
rspec-support (3.1.1)
rubyzip (1.1.6)
selenium-webdriver (2.43.0)
childprocess (~> 0.5)
multi_json (~> 1.0)
rubyzip (~> 1.0)
websocket (~> 1.0)
websocket (1.2.1)
websocket-driver (0.3.4)
xpath (2.0.0)
nokogiri (~> 1.3)

PLATFORMS
ruby

DEPENDENCIES
capybara
jsduck
poltergeist
rspec
selenium-webdriver
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2012 Max Carlson
Copyright (c) 2014 Teem2 LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
121 changes: 115 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,126 @@
rheses
dreem
======

getting started with dreem
--------------------------
It is quick and easy to get started writing your dreem application. After cloning the project, you will need to serve the dreem files through a web server to satisfy the browser's same-origin policy. SimpleHTTPServer is a quick and easy option to get started. From within the dreem root directory just run:

python -m SimpleHTTPServer

This will turn that directory into a webserver and allow you to run any of the example files on localhost, such as [http://localhost:8000/data.html]()

That's all you need to do to get set up to build a dreem application. There are many sample files in the root directory that you can reference to get familiar with the language. You will also want to build the API documentation to run on your machine as it is currently not hosted anywhere on the web. This is a simple process, and instructions are included below.

You can put your dreem files right in the root dreem directory or a subdirectory to get started. However, if you want to keep your files in source control its helpful to keep them separate from the dreem git repo. You can easily do so by creating a softlink in the dreem directory that points to a separate directory located elsewhere in your machine. For example, if your dreem installation is located at ~/dev/dreem, and you want to keep your dreem application in ~/dev/mydreemapp, then within ~/dev/dreem run:

ln -s ~/dev/mydreemapp ./mydreemapp

Now you can access your files at http://localhost:8000/mydreemapp/

installing the sublime plugin
-----------------------------

For Sublime Text, use the preferences -> browse packages menu, back out a folder and browse to 'Installed Packages', then copy /tools/Dreem.sublime-package there.

building
--------
This is only required when editing the coffeescript core.
Make sure coffescript is installed

coffee -j layout.js -mo ./ -cw *.coffee
npm install -g coffee-script

And run

coffee -mo ./ -cw *.coffee

building the documentation
--------------------------

running
--------
The API docs are built with [https://github.com/senchalabs/jsduck](). Install jsduck as a ruby gem using bundler by running

python -m SimpleHTTPServer
gem install bundler
bundle install

If you are using rvm or similar your gems will be installed in a gemset called 'dreem'.

With jsduck installed run:

./bin/builddocs

running smoke tests
--------------------------

The smoke tests docs are run with [http://phantomjs.org/](), so you'll need to install it. Next, run:

phantomjs ./bin/phantomrunner.js

If you get RESOURCE ERROR messages, try specifying a different timeout argument. The smaller the number, the faster the tests will run:

phantomjs ./bin/phantomrunner.js 100

Finally, you may get better performance if you utilize phantom's disk cache:

phantomjs ./bin/phantomrunner.js 100 --disk-cache

and visit [http://localhost:8000/data.html]()
running the component tests
--------------------------

The components are tested with rspec and capybara. You will need to install the required gems to run them. If you haven't already:

gem install bundler
bundle install

Now to run the specs run

rspec

If you see an error like:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

ruby extconf.rb
Command 'qmake -spec macx-g++ ' not available

Makefile not found

Gem files will remain installed in /Users/maxcarlson/.rvm/gems/ruby-2.0.0-p481@dreem/gems/capybara-webkit-1.3.0 for inspection.
Results logged to /Users/maxcarlson/.rvm/gems/ruby-2.0.0-p481@dreem/extensions/x86_64-darwin-13/2.0.0-static/capybara-webkit-1.3.0/gem_make.out

An error occurred while installing capybara-webkit (1.3.0), and Bundler cannot continue.
Make sure that `gem install capybara-webkit -v '1.3.0'` succeeds before bundling.

Per [http://stackoverflow.com/questions/11354656/error-error-error-installing-capybara-webkit]() if you are in Ubuntu:

sudo apt-get install qt4-dev-tools libqt4-dev libqt4-core libqt4-gui

If you are on Mac

brew install qt

Then run this again:

bundle install

Windows users: capybara-webkit can only install on a 32-bit version of Windows. See [https://github.com/thoughtbot/capybara-webkit#windows-support]()

<!-- The MIT License (MIT)

Copyright ( c ) 2014 Teem2 LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. -->
6 changes: 6 additions & 0 deletions bin/builddocs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
git reset ./docs/api/
rm -rf docs/api/
./docs/lib/config.rb
coffee -mo ./ -c *.coffee
node ./bin/finddoccomments.js > ./classdocs.js
jsduck layout.js classdocs.js --tags ./docs/lib/custom_tags.rb --guides=./docs/guides.json --categories=./docs/categories.json --output=./docs/api/ --eg-iframe=jsduck_iframe.html --title="Dreem API documentation" --footer="Copyright (c) 2014 Teem2 LLC"
1 change: 1 addition & 0 deletions bin/buildminify
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
./bin/node_modules/uglify-js/bin/uglifyjs layout.js --source-map layout.min.js.map > layout.min.js
5 changes: 5 additions & 0 deletions bin/expected.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Unrecognized class goodbye <goodbye></goodbye>
attribute.value must be defined on <attribute name="fullName" type="string"></attribute> inside <class name="contact" extends="view" bgcolor="red" width="300" height="300">
<attribute name="fullName" type="string"></attribute>
</class>
Invalid type 'text' for attribute 'something', must be one of: number, boolean, string, json, expression
47 changes: 47 additions & 0 deletions bin/finddoccomments.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
The MIT License (MIT)

Copyright ( c ) 2014 Teem2 LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/

var fs = require('fs');

var basepath = "./classes/"

var regex = /\/\*\*([\S\s]*?)\*\//mg

fs.readdir(basepath,function(err,files){
if(err) throw err;
files.forEach(function(file){
if (file.indexOf('.dre') == -1) return
// console.log(basepath + file)
var data = fs.readFileSync(basepath + file, {encoding: 'utf-8'});
var matches = data.toString().match(regex);

if (matches) {
matches.forEach(function(match){
match = match.replace('<!--', '');
match = match.replace('-->', '');
console.log(match)
});
}
});
});
55 changes: 55 additions & 0 deletions bin/findrequired.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
The MIT License (MIT)

Copyright ( c ) 2014 Teem2 LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/

var fs = require('fs');
var jpath = require('json-path');

var basepath = "./docs/api/"

var regex = /{(.*)}/g

fs.readdir(basepath, function(err, files) {
if (err) throw err;
files.forEach(function(file) {
if (file.indexOf('data-') !== 0) return;
// console.log(basepath + file)
var filecontents = fs.readFileSync(basepath + file, {
encoding: 'utf-8'
});
var matches = filecontents.toString().match(regex);
var data = JSON.parse(matches[0]);

var res = jpath.executeSelectors(data, jpath.parseSelector("/data/search[*]"));
var out = {}
res.forEach(function(d, i) {
if (!d.meta.required)
return;
classAndName = d.fullName.substring(3).split('.')
if (! out[classAndName[0]])
out[classAndName[0]] = {};
out[classAndName[0]][classAndName[1]] = 1;
})
console.log(JSON.stringify(out));
});
});
1 change: 1 addition & 0 deletions bin/node_modules/.bin/uglifyjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions bin/node_modules/json-path/.npmignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions bin/node_modules/json-path/.travis.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading