├── docs
├── elements
│ ├── tabs
│ │ ├── menu.cms
│ │ ├── tab
│ │ │ ├── tab.md
│ │ │ └── tab_p.md
│ │ └── tabs
│ │ │ ├── tabs_p.md
│ │ │ └── tabs.md
│ ├── output
│ │ ├── menu.cms
│ │ ├── output
│ │ │ ├── output.md
│ │ │ └── output_p.md
│ │ └── outputcontent
│ │ │ ├── outputcontent.md
│ │ │ └── outputcontent_p.md
│ ├── multiinput
│ │ ├── menu.cms
│ │ ├── multiinputcontrol
│ │ │ ├── multiinputcontrol.md
│ │ │ └── multiinputcontrol_p.md
│ │ └── multiinput
│ │ │ ├── multiinput.md
│ │ │ └── multiinput_p.md
│ ├── label
│ │ ├── menu.cms
│ │ ├── emptylabel
│ │ │ ├── emptylabel_p.md
│ │ │ └── emptylabel.md
│ │ ├── multilinelabel
│ │ │ ├── multilinelabel_p.md
│ │ │ └── multilinelabel.md
│ │ └── label
│ │ │ └── label_p.md
│ ├── stickyheader
│ │ ├── menu.cms
│ │ ├── stickyheader
│ │ │ ├── stickyheader.md
│ │ │ └── stickyheader_p.md
│ │ └── stickyheadercontrol
│ │ │ ├── stickyheadercontrol_p.md
│ │ │ └── stickyheadercontrol.md
│ ├── form
│ │ ├── menu.cms
│ │ ├── formmodal
│ │ │ ├── formmodal_p.md
│ │ │ └── formmodal.md
│ │ ├── formpopover
│ │ │ ├── formpopover.md
│ │ │ └── formpopover_p.md
│ │ ├── formbutton
│ │ │ ├── formbutton.md
│ │ │ └── formbutton_p.md
│ │ └── form
│ │ │ ├── form.md
│ │ │ └── form_p.md
│ ├── layout
│ │ ├── menu.cms
│ │ ├── verticallayout
│ │ │ ├── verticallayout_p.md
│ │ │ └── verticallayout.md
│ │ ├── horizontallayout
│ │ │ ├── horizontallayout_p.md
│ │ │ └── horizontallayout.md
│ │ └── layout
│ │ │ ├── layout.md
│ │ │ └── layout_p.md
│ ├── pane
│ │ ├── menu.cms
│ │ ├── panetoolbar
│ │ │ ├── panetoolbar_p.md
│ │ │ └── panetoolbar.md
│ │ ├── paneheader
│ │ │ ├── paneheader_p.md
│ │ │ └── paneheader.md
│ │ ├── panefooter
│ │ │ ├── panefooter_p.md
│ │ │ └── panefooter.md
│ │ ├── pane
│ │ │ ├── pane_p.md
│ │ │ └── pane.md
│ │ └── simplepane
│ │ │ └── simplepane_p.md
│ ├── confirmationchoice
│ │ ├── menu.cms
│ │ ├── prompt
│ │ │ ├── prompt_p.md
│ │ │ └── prompt.md
│ │ ├── toaster
│ │ │ ├── toaster_p.md
│ │ │ └── toaster.md
│ │ ├── alert
│ │ │ ├── alert_p.md
│ │ │ └── alert.md
│ │ ├── confirmationchoice
│ │ │ ├── confirmationchoice.md
│ │ │ └── confirmationchoice_p.md
│ │ └── confirm
│ │ │ ├── confirm_p.md
│ │ │ └── confirm.md
│ ├── input
│ │ ├── menu.cms
│ │ ├── numberinputblock
│ │ │ ├── numberinputblock_p.md
│ │ │ └── numberinputblock.md
│ │ ├── inputblock
│ │ │ ├── inputblock.md
│ │ │ └── inputblock_p.md
│ │ ├── emailinput
│ │ │ ├── emailinput_p.md
│ │ │ └── emailinput.md
│ │ ├── input
│ │ │ └── input.md
│ │ ├── numberinput
│ │ │ └── numberinput.md
│ │ └── markdowninput
│ │ │ ├── markdowninput.md
│ │ │ └── markdowninput_p.md
│ ├── button
│ │ └── button_exmpl1.coffee
│ ├── listview
│ │ ├── menu.cms
│ │ ├── listviewrow
│ │ │ ├── listviewrow_p.md
│ │ │ └── listviewrow.md
│ │ ├── listviewtreenode
│ │ │ ├── listviewtreenode_p.md
│ │ │ └── listviewtreenode.md
│ │ ├── listviewcolumn
│ │ │ ├── listviewcolumn_p.md
│ │ │ └── listviewcolumn.md
│ │ └── listviewtree
│ │ │ └── listviewtree_p.md
│ ├── borderlayout
│ │ ├── borderlayout_p.md
│ │ └── borderlayout.md
│ ├── layer
│ │ └── layer.md
│ ├── console
│ │ ├── console.md
│ │ └── console_p.md
│ ├── select
│ │ ├── select_p.md
│ │ └── select.md
│ ├── panel
│ │ └── panel.md
│ ├── password
│ │ ├── password_p.md
│ │ └── password.md
│ ├── digidisplay
│ │ ├── digidisplay.md
│ │ └── digidisplay_p.md
│ ├── progressmeter
│ │ ├── progressmeter.md
│ │ └── progressmeter_p.md
│ ├── objectdumper
│ │ ├── objectdumper_p.md
│ │ └── objectdumper.md
│ ├── fileupload
│ │ ├── filereader
│ │ │ ├── filereader_p.md
│ │ │ └── filereader.md
│ │ ├── fileupload
│ │ │ └── fileupload.md
│ │ ├── fileuploadfile
│ │ │ ├── fileuploadfile.md
│ │ │ └── fileuploadfile_p.md
│ │ ├── filereaderfile
│ │ │ ├── filereaderfile_p.md
│ │ │ └── filereaderfile.md
│ │ └── fileuploadbutton
│ │ │ ├── fileuploadbutton.md
│ │ │ └── fileuploadbutton_p.md
│ ├── multioutput
│ │ ├── multioutput_p.md
│ │ └── multioutput.md
│ ├── menu
│ │ ├── menu.md
│ │ └── menu_p.md
│ ├── layerpane
│ │ ├── layerpane.md
│ │ └── layerpane_p.md
│ ├── options
│ │ └── options.md
│ ├── waitblock
│ │ ├── waitblock.md
│ │ └── waitblock_p.md
│ ├── documentbrowser
│ │ └── documentbrowser
│ │ │ ├── documentbrowser.md
│ │ │ └── documentbrowser_p.md
│ ├── popover
│ │ ├── popover_p.md
│ │ └── popover.md
│ ├── modal
│ │ ├── modal.md
│ │ └── modal_p.md
│ ├── tooltip
│ │ ├── tooltip.md
│ │ └── tooltip_p.md
│ ├── toolbar
│ │ ├── toolbar.md
│ │ └── toolbar_p.md
│ ├── verticallist
│ │ ├── verticallist_p.md
│ │ └── verticallist.md
│ ├── horizontallist
│ │ ├── horizontallist_p.md
│ │ └── horizontallist.md
│ ├── buttonhref
│ │ └── buttonhref_p.md
│ ├── icon
│ │ └── icon_p.md
│ ├── datafieldinput
│ │ ├── datafieldinput_p.md
│ │ └── datafieldinput.md
│ ├── confirmationdialog
│ │ ├── confirmationdialog.md
│ │ └── confirmationdialog_p.md
│ ├── checkbox
│ │ └── checkbox.md
│ ├── block
│ │ └── block_p.md
│ ├── datetime
│ │ ├── datetime_p.md
│ │ └── datetime.md
│ ├── examples
│ │ └── examples.md
│ ├── datafield
│ │ └── datafield.md
│ └── menu.cms
├── menu.cms
├── chapter1.md
├── styles
│ └── website.css
├── intro
│ └── intro.md
├── README.md
└── SUMMARY.md
├── demo
├── src
│ ├── demos
│ │ ├── XHR
│ │ │ ├── XHRTest.json
│ │ │ ├── XHRDelayed.php
│ │ │ └── XHRTest.php
│ │ ├── Menu
│ │ │ └── Schmetterling.jpg
│ │ ├── FileUpload
│ │ │ ├── FileUpload.php
│ │ │ └── FileUploadDemo.html
│ │ ├── StickyHeader
│ │ │ └── StickyHeaderDemo.html
│ │ ├── Sudoku
│ │ │ └── Sudoku.html
│ │ ├── PanelDemo.coffee
│ │ ├── Form
│ │ │ └── FormDemo.html
│ │ ├── ObjectDumper
│ │ │ ├── ObjectDumperDemo.coffee
│ │ │ └── example2.json
│ │ ├── DataTableDemo.coffee
│ │ ├── ScrollIntoViewDemo
│ │ │ └── ScrollIntoViewDemo.html
│ │ └── DigiDisplayDemo.coffee
│ └── icons
│ │ ├── inherit.svg
│ │ ├── arrow-right.svg
│ │ └── remove-icon.svg
└── postcss.config.js
├── test
├── setup.js
├── html-loader.js
└── preprocessor.js
├── tutorial
├── simple-examples
│ ├── css
│ │ └── base.css
│ ├── build.sh
│ ├── examples
│ │ ├── custom-element
│ │ │ ├── hello-world.html
│ │ │ ├── index.html
│ │ │ └── App.coffee
│ │ ├── form
│ │ │ └── index.html
│ │ ├── icon
│ │ │ ├── index.html
│ │ │ └── App.coffee
│ │ ├── modal
│ │ │ ├── index.html
│ │ │ └── App.coffee
│ │ ├── pane
│ │ │ ├── index.html
│ │ │ └── App.coffee
│ │ ├── button
│ │ │ └── index.html
│ │ ├── element-props
│ │ │ └── index.html
│ │ ├── horizontal-layout
│ │ │ ├── App.coffee
│ │ │ ├── index.html
│ │ │ └── App.js
│ │ ├── vertical-layout
│ │ │ ├── App.coffee
│ │ │ ├── index.html
│ │ │ └── App.js
│ │ ├── border-layout
│ │ │ ├── index.html
│ │ │ └── App.coffee
│ │ ├── layout-complete
│ │ │ └── index.html
│ │ └── vertical-horizontal-list
│ │ │ ├── index.html
│ │ │ └── App.coffee
│ ├── index.html
│ └── index.coffee
├── public
│ └── weather-service.json
├── index.html
├── src
│ ├── scss
│ │ └── base.scss
│ ├── modules
│ │ └── weather
│ │ │ ├── WeatherService.coffee
│ │ │ ├── weather.html
│ │ │ └── Weather.coffee
│ └── App.coffee
└── package.json
├── src
├── scss
│ ├── themes
│ │ ├── fylr
│ │ │ ├── _resets.scss
│ │ │ ├── index.scss
│ │ │ ├── components
│ │ │ │ ├── _popover.scss
│ │ │ │ ├── _developer-menu.scss
│ │ │ │ ├── _css-swatch.scss
│ │ │ │ ├── _console.scss
│ │ │ │ ├── _file-upload.scss
│ │ │ │ ├── _buttonbar.scss
│ │ │ │ ├── _data-table.scss
│ │ │ │ └── _digi-display.scss
│ │ │ ├── mixins
│ │ │ │ ├── _clickable.scss
│ │ │ │ ├── _disabled.scss
│ │ │ │ ├── _scrollbar.scss
│ │ │ │ ├── _icons.scss
│ │ │ │ ├── index.scss
│ │ │ │ ├── _table.scss
│ │ │ │ ├── _text-truncate.scss
│ │ │ │ └── _toolbar.scss
│ │ │ ├── fonts
│ │ │ │ ├── SourceSansPro-Bold.woff
│ │ │ │ ├── SourceSansPro-Bold.woff2
│ │ │ │ ├── SourceSansPro-Regular.woff
│ │ │ │ └── SourceSansPro-Regular.woff2
│ │ │ ├── _cursors.scss
│ │ │ └── resets
│ │ │ │ └── _reset.scss
│ │ ├── debug
│ │ │ ├── footer.scss
│ │ │ ├── header.scss
│ │ │ └── main.scss
│ │ └── ng
│ │ │ ├── footer.scss
│ │ │ └── main.scss
│ ├── icons
│ │ ├── coffeescript-ui-icons.sketch
│ │ ├── info-circle.svg
│ │ ├── ruler.svg
│ │ ├── rows.svg
│ │ ├── popup.svg
│ │ ├── reset.svg
│ │ ├── info-circle-ng.svg
│ │ ├── grid.svg
│ │ ├── asset-failed.svg
│ │ ├── table.svg
│ │ ├── multiple.svg
│ │ ├── folder.svg
│ │ ├── fullscreen-expand.svg
│ │ ├── fullscreen-compress.svg
│ │ ├── inherit.svg
│ │ ├── arrow-right.svg
│ │ ├── remove-icon.svg
│ │ └── easydb.svg
│ └── thirdparty
│ │ ├── leaflet
│ │ └── dist
│ │ │ └── images
│ │ │ ├── layers.png
│ │ │ ├── layers-2x.png
│ │ │ ├── marker-icon.png
│ │ │ ├── marker-icon-2x.png
│ │ │ └── marker-shadow.png
│ │ └── leaflet-defaulticon-compatibility
│ │ └── dist
│ │ └── images
│ │ ├── layers.png
│ │ ├── layers-2x.png
│ │ ├── marker-icon.png
│ │ ├── marker-shadow.png
│ │ └── marker-icon-2x.png
├── elements
│ ├── Map
│ │ ├── leaflet.attribution.html
│ │ ├── map-input.html
│ │ └── map.html
│ ├── MultiInput
│ │ ├── MultiInputControl.css
│ │ ├── MultiInputInput.html
│ │ └── MultiInputInput.coffee
│ ├── Slider
│ │ └── Slider.html
│ ├── Tabs
│ │ ├── Tab.html
│ │ └── Tabs.html
│ ├── Button
│ │ ├── Buttonbar.html
│ │ ├── ButtonHref.html
│ │ ├── ButtonHref_ng.html
│ │ └── Button.html
│ ├── ItemList
│ │ └── ItemList.html
│ ├── ListView
│ │ ├── ListViewColumnEmpty.coffee
│ │ ├── ListViewTreeHeaderNode.coffee
│ │ ├── ListViewHeaderRow.coffee
│ │ ├── tools
│ │ │ ├── ListViewColumnRowMoveHandlePlaceholder.coffee
│ │ │ ├── ListViewDraggable.coffee
│ │ │ └── ListViewColumnRowMoveHandle.coffee
│ │ └── ListViewColumnRightFill.coffee
│ ├── Pane
│ │ ├── PaneFooter.coffee
│ │ ├── PaneHeader.coffee
│ │ ├── PaneToolbar.coffee
│ │ └── Pane.html
│ ├── StickyHeader
│ │ └── StickyHeader.html
│ ├── Block
│ │ └── Block.html
│ ├── Label
│ │ ├── EmptyLabel.coffee
│ │ ├── MultilineLabel.coffee
│ │ └── Label.html
│ ├── Panel
│ │ └── Panel.html
│ ├── MultiOutput
│ │ └── MultiOutput.html
│ ├── WaitBlock
│ │ └── WaitBlock.html
│ ├── HorizontalList
│ │ └── HorizontalList.coffee
│ ├── VerticalList
│ │ └── VerticalList.coffee
│ ├── ProgressMeter
│ │ └── ProgressMeter.html
│ ├── Input
│ │ ├── NumberInputBlock.coffee
│ │ └── ByteSizeInput.coffee
│ ├── FileUpload
│ │ ├── FileUploadButton.html
│ │ └── FileReader.coffee
│ ├── Options
│ │ └── Options.html
│ ├── Toolbar
│ │ └── Toolbar.coffee
│ ├── FormButton
│ │ └── FormButton.coffee
│ ├── Console
│ │ └── Console.coffee
│ ├── Popover
│ │ └── Popover.coffee
│ ├── ConfirmationChoice
│ │ ├── Spinner.coffee
│ │ ├── Alert.coffee
│ │ └── Toaster.coffee
│ ├── BorderLayout
│ │ └── BorderLayout.coffee
│ ├── Password
│ │ └── Password.coffee
│ └── Output
│ │ └── OutputContent.coffee
├── base
│ ├── Events
│ │ ├── CUIEvent.coffee
│ │ ├── WheelEvent.coffee
│ │ └── TouchEvent.coffee
│ ├── DataField
│ │ ├── DataField.html
│ │ ├── CheckValueError.coffee
│ │ └── DataFieldInput.coffee
│ ├── Base.html
│ ├── DragDropSelect
│ │ ├── DragoverScrollEvent.coffee
│ │ └── Dragscroll.coffee
│ ├── Layer
│ │ └── Layer.html
│ ├── Dummy.coffee
│ └── Deferred
│ │ ├── decide.coffee
│ │ └── Promise.coffee
└── tests
│ └── Test.coffee
├── Makefile
├── GenerateDocs.coffee
├── postcss.config.js
├── jest.config.js
├── book.json
├── .gitignore
└── doc
├── index.html
├── extra_list.html
└── mixin_list.html
/docs/elements/tabs/menu.cms:
--------------------------------------------------------------------------------
1 | tab=Tab
2 | tabs=Tabs
--------------------------------------------------------------------------------
/demo/src/demos/XHR/XHRTest.json:
--------------------------------------------------------------------------------
1 |
2 | {"henk": "horst"}
3 |
--------------------------------------------------------------------------------
/test/setup.js:
--------------------------------------------------------------------------------
1 | window.CUI = require('../src/base/CUI.coffee');
--------------------------------------------------------------------------------
/docs/menu.cms:
--------------------------------------------------------------------------------
1 | intro=Introduction
2 | core=Core
3 | elements=Elements
4 |
--------------------------------------------------------------------------------
/docs/elements/output/menu.cms:
--------------------------------------------------------------------------------
1 | output=Output
2 | outputcontent=OutputContent
--------------------------------------------------------------------------------
/tutorial/simple-examples/css/base.css:
--------------------------------------------------------------------------------
1 | div {
2 | border: solid grey 0.5px;
3 | }
--------------------------------------------------------------------------------
/src/scss/themes/fylr/_resets.scss:
--------------------------------------------------------------------------------
1 | @use 'resets/_normalize';
2 | @use 'resets/_reset';
3 |
--------------------------------------------------------------------------------
/docs/elements/multiinput/menu.cms:
--------------------------------------------------------------------------------
1 | multiinput=MultiInput
2 | multiinputcontrol=MultiInputControl
--------------------------------------------------------------------------------
/tutorial/simple-examples/build.sh:
--------------------------------------------------------------------------------
1 | coffee -c index.coffee
2 | coffee -c examples/*/*.coffee
3 |
--------------------------------------------------------------------------------
/docs/elements/label/menu.cms:
--------------------------------------------------------------------------------
1 | label=Label
2 | multilinelabel=MultilineLabel
3 | emptylabel=EmptyLabel
--------------------------------------------------------------------------------
/docs/elements/stickyheader/menu.cms:
--------------------------------------------------------------------------------
1 | stickyheader=StickyHeader
2 | stickyheadercontrol=StickyHeaderControl
--------------------------------------------------------------------------------
/src/elements/Map/leaflet.attribution.html:
--------------------------------------------------------------------------------
1 | © OpenStreetMap contributors
--------------------------------------------------------------------------------
/docs/elements/form/menu.cms:
--------------------------------------------------------------------------------
1 | form=Form
2 | formbutton=FormButton
3 | formmodal=FormModal
4 | formpopover=FormPopover
--------------------------------------------------------------------------------
/docs/elements/layout/menu.cms:
--------------------------------------------------------------------------------
1 | layout=Layout
2 | horizontallayout=HorizontalLayout
3 | verticallayout=VerticalLayout
--------------------------------------------------------------------------------
/src/elements/MultiInput/MultiInputControl.css:
--------------------------------------------------------------------------------
1 |
2 | .ez-tmpl-modal.cui-multi-input-control {
3 | width: initial;
4 | }
--------------------------------------------------------------------------------
/src/scss/themes/fylr/index.scss:
--------------------------------------------------------------------------------
1 | // index.scss
2 | @forward '_variables';
3 | @forward '_functions';
4 | @forward 'mixins/index';
--------------------------------------------------------------------------------
/demo/src/demos/Menu/Schmetterling.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/demo/src/demos/Menu/Schmetterling.jpg
--------------------------------------------------------------------------------
/docs/elements/pane/menu.cms:
--------------------------------------------------------------------------------
1 | pane=Pane
2 | simplepane=SimplePane
3 | paneheader=PaneHeader
4 | panefooter=PaneFooter
5 | panetoolbar=PaneToolbar
--------------------------------------------------------------------------------
/src/scss/themes/fylr/components/_popover.scss:
--------------------------------------------------------------------------------
1 | // * Popover
2 |
3 | .cui-popover {
4 | // min-width: map-get($layer-sizes, 'min');
5 | }
6 |
--------------------------------------------------------------------------------
/demo/src/demos/XHR/XHRDelayed.php:
--------------------------------------------------------------------------------
1 |
2 | "henk"))
5 | ?>
6 |
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/menu.cms:
--------------------------------------------------------------------------------
1 | alert=Alert
2 | confirm=Confirm
3 | confirmationchoice=ConfirmationChoice
4 | prompt=Prompt
5 | toaster=Toaster
--------------------------------------------------------------------------------
/src/scss/icons/coffeescript-ui-icons.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/icons/coffeescript-ui-icons.sketch
--------------------------------------------------------------------------------
/src/scss/themes/fylr/mixins/_clickable.scss:
--------------------------------------------------------------------------------
1 | @mixin clickable {
2 | cursor: pointer;
3 | user-select: none;
4 | touch-action: manipulation;
5 | }
6 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/custom-element/hello-world.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/docs/chapter1.md:
--------------------------------------------------------------------------------
1 | # First Chapter
2 |
3 | GitBook allows you to organize your book into chapters, each chapter is stored in a separate file like this one.
4 |
--------------------------------------------------------------------------------
/docs/elements/input/menu.cms:
--------------------------------------------------------------------------------
1 | input=Input
2 | emailinput=EmailInput
3 | numberinput=NumberInput
4 | inputblock=InputBlock
5 | numberinputblock=NumberInputBlock
--------------------------------------------------------------------------------
/docs/elements/label/emptylabel/emptylabel_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter EmptyLabel
3 | ```
4 |
5 | @@include(../multilinelabel/multilinelabel_p.md)
--------------------------------------------------------------------------------
/docs/elements/pane/panetoolbar/panetoolbar_p.md:
--------------------------------------------------------------------------------
1 | class PaneToolbar extends Toolbar
2 | init: ->
3 | super()
4 | @addClass("cui-pane-toolbar")
5 |
6 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/components/_developer-menu.scss:
--------------------------------------------------------------------------------
1 | @use '../mixins/layer' as *;
2 |
3 | .ez5-developer-menu {
4 | @include layer-width('xs');
5 | }
6 |
--------------------------------------------------------------------------------
/tutorial/public/weather-service.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": {
3 | "temperature": -10,
4 | "skytext": "It's sunny",
5 | "humidity": "80%"
6 | }
7 | }
--------------------------------------------------------------------------------
/docs/elements/input/numberinputblock/numberinputblock_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter NumberInputBlock
3 | ```
4 |
5 | @@include(../inputblock/inputblock_p.md)
--------------------------------------------------------------------------------
/docs/styles/website.css:
--------------------------------------------------------------------------------
1 | ul.summary > li:nth-child(-n+2) {
2 | display: none;
3 | }
4 |
5 | ul.summary > li:nth-last-child(-n+2) {
6 | display: none;
7 | }
8 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/fonts/SourceSansPro-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/themes/fylr/fonts/SourceSansPro-Bold.woff
--------------------------------------------------------------------------------
/src/scss/themes/fylr/fonts/SourceSansPro-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/themes/fylr/fonts/SourceSansPro-Bold.woff2
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet/dist/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet/dist/images/layers.png
--------------------------------------------------------------------------------
/demo/src/demos/FileUpload/FileUpload.php:
--------------------------------------------------------------------------------
1 |
2 | $_FILES));
5 | ?>
6 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/fonts/SourceSansPro-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/themes/fylr/fonts/SourceSansPro-Regular.woff
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet/dist/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet/dist/images/layers-2x.png
--------------------------------------------------------------------------------
/docs/elements/button/button_exmpl1.coffee:
--------------------------------------------------------------------------------
1 | myButton = new Button
2 | text: "Say Hello"
3 | appearnce: "flat"
4 | size: "big"
5 | onClick: (ev, btn) ->
6 | alert("Hello")
--------------------------------------------------------------------------------
/docs/elements/listview/menu.cms:
--------------------------------------------------------------------------------
1 | listview=ListView
2 | listviewtree=ListViewTree
3 | listviewcolumn=ListViewColumn
4 | listviewrow=ListViewRow
5 | listviewtreenode=ListViewTreeNode
--------------------------------------------------------------------------------
/src/scss/themes/fylr/fonts/SourceSansPro-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/themes/fylr/fonts/SourceSansPro-Regular.woff2
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet/dist/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet/dist/images/marker-icon.png
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet/dist/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet/dist/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet/dist/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet/dist/images/marker-shadow.png
--------------------------------------------------------------------------------
/test/html-loader.js:
--------------------------------------------------------------------------------
1 | const htmlLoader = require('html-loader');
2 |
3 | module.exports = {
4 | process(src, filename, config, options) {
5 | return htmlLoader(src);
6 | }
7 | }
--------------------------------------------------------------------------------
/docs/intro/intro.md:
--------------------------------------------------------------------------------
1 | # Coffeescript User Interface System (CUI)
2 |
3 | Source code is public at: [https://github.com/programmfabrik/coffeescript-ui](https://github.com/programmfabrik/coffeescript-ui)
4 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | all: npm_ci
2 | npm run build:all
3 |
4 | watch:
5 | npm run build:watch
6 |
7 | npm_ci:
8 | npm ci
9 |
10 | npm_install:
11 | npm install
12 |
13 | .PHONY: all watch npm_install npm_ci
14 |
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/layers.png
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/layers-2x.png
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/marker-icon.png
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/marker-shadow.png
--------------------------------------------------------------------------------
/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmfabrik/coffeescript-ui/HEAD/src/scss/thirdparty/leaflet-defaulticon-compatibility/dist/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/demo/src/demos/XHR/XHRTest.php:
--------------------------------------------------------------------------------
1 |
2 | "henk"));
9 | ?>
10 |
--------------------------------------------------------------------------------
/docs/elements/borderlayout/borderlayout_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter BorderLayout
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | ||||| |
6 | ```
7 |
--------------------------------------------------------------------------------
/docs/elements/layer/layer.md:
--------------------------------------------------------------------------------
1 | # Layer
2 |
3 | DOM
4 | Layer
5 |
6 | ***
7 |
8 |
9 | @@include(layer_p.md)
--------------------------------------------------------------------------------
/src/scss/themes/fylr/mixins/_disabled.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | @mixin disabled() {
4 | user-select: none;
5 | opacity: var(--disabled-opacity, #{$disabled-opacity});
6 | pointer-events: var(--pointer-events-when-disabled, none);
7 | }
8 |
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | # Coffeescript-UI
2 |
3 | The Coffeescript-UI (CUI) system is a simple framework to develop webapplications quickly. It's main design goal was to give the programmer an easy way to focus on problem solution without creating HTML and CSS files.
4 |
5 |
--------------------------------------------------------------------------------
/docs/elements/console/console.md:
--------------------------------------------------------------------------------
1 | # Console
2 |
3 | DOM
4 | Console
5 |
6 | ***
7 |
8 |
9 | @@include(console_p.md)
--------------------------------------------------------------------------------
/docs/elements/pane/paneheader/paneheader_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter PaneHeader
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | ```
6 |
7 | @@include(../../toolbar/toolbar_p.md)
--------------------------------------------------------------------------------
/docs/elements/select/select_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Select
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | ||||| |
6 | ```
7 |
8 | @@include(../checkbox/checkbox_p.md)
--------------------------------------------------------------------------------
/docs/elements/tabs/tab/tab.md:
--------------------------------------------------------------------------------
1 | # Tab
2 |
3 | DOM
4 | Tab
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(tab_p.md)
--------------------------------------------------------------------------------
/src/elements/Slider/Slider.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/src/scss/themes/debug/footer.scss:
--------------------------------------------------------------------------------
1 | /*
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | */
7 |
8 | // footer
--------------------------------------------------------------------------------
/src/scss/themes/ng/footer.scss:
--------------------------------------------------------------------------------
1 | /*
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | */
7 |
8 | // footer
--------------------------------------------------------------------------------
/tutorial/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI Tutorial
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tutorial/src/scss/base.scss:
--------------------------------------------------------------------------------
1 | .tutorial-main-layout {
2 | background-color: #eef0f1;
3 | }
4 |
5 | .tutorial-main-layout-top {
6 | display: block;
7 | font-size: 20px;
8 | }
9 |
10 | .tutorial-main-layout-bottom {
11 | text-align: center;
12 | font-size: 10px
13 | }
--------------------------------------------------------------------------------
/docs/elements/panel/panel.md:
--------------------------------------------------------------------------------
1 | # Panel
2 |
3 | DOM
4 | Panel
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(panel_p.md)
--------------------------------------------------------------------------------
/docs/elements/password/password_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Password
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | ||||| |
6 |
7 | ```
8 |
9 | @@include(../input/input/input_p.md)
--------------------------------------------------------------------------------
/GenerateDocs.coffee:
--------------------------------------------------------------------------------
1 | CodoCLI = require 'codo/lib/command.coffee'
2 | codoCLI = new CodoCLI()
3 | options =
4 | output: './doc'
5 | name: 'Coffeescript-UI Documentation'
6 | title: 'Coffeescript-UI Documentation'
7 |
8 | codoCLI.generate "./src", options, (exitCode) -> process.exit exitCode
9 |
--------------------------------------------------------------------------------
/docs/elements/pane/panefooter/panefooter_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter PaneFooter
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | ||||| |
6 | ```
7 |
8 | @@include(../../toolbar/toolbar_p.md)
--------------------------------------------------------------------------------
/docs/elements/pane/pane/pane_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Pane
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | ||||| |
6 | ```
7 |
8 | @@include(../../layout/verticallayout/verticallayout_p.md)
--------------------------------------------------------------------------------
/docs/elements/layout/verticallayout/verticallayout_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter VerticalLayout
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | ||||| |
6 | ```
7 |
8 | @@include(../layout/layout_p.md)
--------------------------------------------------------------------------------
/docs/elements/digidisplay/digidisplay.md:
--------------------------------------------------------------------------------
1 | # DigiDisplay
2 |
3 | DOM
4 | Tab
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(digidisplay_p.md)
--------------------------------------------------------------------------------
/docs/elements/input/inputblock/inputblock.md:
--------------------------------------------------------------------------------
1 | # InputBlock
2 |
3 | CUI-Element
4 | Inputblock
5 |
6 | ***
7 |
8 |
9 | @@include(inputblock_p.md)
--------------------------------------------------------------------------------
/docs/elements/layout/horizontallayout/horizontallayout_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter HorizontalLayout
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | ||||| |
6 | ```
7 |
8 | @@include(../layout/layout_p.md)
--------------------------------------------------------------------------------
/src/scss/themes/fylr/mixins/_scrollbar.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | // custom thumb-color track-color (#c1c1c1 is the color of the native Chrome thumb)
4 | // works in all major browsers except Safari (and iOS)
5 |
6 | @mixin scrollbar-inverted() {
7 | scrollbar-color: #c1c1c1 $gray-800;
8 | }
9 |
--------------------------------------------------------------------------------
/src/base/Events/CUIEvent.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.CUIEvent extends CUI.Event
--------------------------------------------------------------------------------
/src/base/DataField/DataField.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/docs/elements/digidisplay/digidisplay_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter DigiDisplay
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | digits | <Array> | - | yes | Lorem |
6 | ```
7 |
8 | @@include(../../core/dom/dom_p.md)
9 |
--------------------------------------------------------------------------------
/docs/elements/progressmeter/progressmeter.md:
--------------------------------------------------------------------------------
1 | # ProgressMeter
2 |
3 | DOM
4 | ProgressMeter
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(progressmeter_p.md)
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | const cssnanoConfig = {
2 | preset: ['default', { discardComments: true }]
3 | };
4 |
5 | module.exports = function({ file, options }) {
6 | return {
7 | plugins: {
8 | autoprefixer: { grid: false },
9 | cssnano: options.optimize ? cssnanoConfig : false,
10 | },
11 | };
12 | };
13 |
--------------------------------------------------------------------------------
/src/elements/Tabs/Tab.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/demo/postcss.config.js:
--------------------------------------------------------------------------------
1 | const cssnanoConfig = {
2 | preset: ['default', { discardComments: true }]
3 | };
4 |
5 | module.exports = function({ file, options }) {
6 | return {
7 | plugins: {
8 | autoprefixer: { grid: false },
9 | cssnano: options.optimize ? cssnanoConfig : false,
10 | },
11 | };
12 | };
13 |
--------------------------------------------------------------------------------
/docs/elements/objectdumper/objectdumper_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ObjectDumper
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | object | not function() ? | - | yes | Lorem |
6 | ```
7 |
8 | @@include(../../core/element/element_p.md)
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | // collectCoverage: true,
3 | // collectCoverageFrom: ['src/**/*.coffee'],
4 | "setupFiles": [
5 | "./test/setup.js"
6 | ],
7 | "transform": {
8 | "^.+\\.coffee$": "./test/preprocessor.js",
9 | "^.+\\.html$": "./test/html-loader.js"
10 | }
11 | }
--------------------------------------------------------------------------------
/src/base/DataField/CheckValueError.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.CheckValueError extends window.Error
9 |
--------------------------------------------------------------------------------
/src/elements/Button/Buttonbar.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/elements/Tabs/Tabs.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/docs/elements/console/console_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Console
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | markdown | <Boolean> | true | yes | true false |
6 | ```
7 |
8 | @@include(../../core/dom/dom_p.md)
--------------------------------------------------------------------------------
/docs/elements/fileupload/filereader/filereader_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter FileReader
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | url | | | | |
6 |
7 | ```
8 |
9 | @@include(../fileupload/fileupload_p.md)
--------------------------------------------------------------------------------
/docs/elements/fileupload/fileupload/fileupload.md:
--------------------------------------------------------------------------------
1 | # FileUpload
2 |
3 | CUI-Element
4 | FileUpload
5 |
6 | ***
7 |
8 | ## Description
9 |
10 | @@include(fileupload.md)
--------------------------------------------------------------------------------
/docs/elements/input/emailinput/emailinput_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter EmailInput
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | checkInput | | | | |
6 | ```
7 |
8 | @@include(../input/input_p.md)
9 |
--------------------------------------------------------------------------------
/docs/elements/objectdumper/objectdumper.md:
--------------------------------------------------------------------------------
1 | # ObjectDumper
2 |
3 | CUI-Element
4 | ObjectDumper
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(objectdumper_p.md)
--------------------------------------------------------------------------------
/docs/elements/stickyheader/stickyheader/stickyheader.md:
--------------------------------------------------------------------------------
1 | # StickyHeader
2 |
3 | DOM
4 | StickyHeader
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(stickyheader_p.md)
--------------------------------------------------------------------------------
/docs/elements/form/formmodal/formmodal_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter FormModal
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | popover | | | | |
7 | ```
8 |
9 | @@include(../formpopover/formpopover_p.md)
--------------------------------------------------------------------------------
/docs/elements/multioutput/multioutput_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter MultiOutput
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | control | <Object> = MultiInputControl | - | yes | Lorem |
6 | ```
7 |
8 | @@include(../output/output/output_p.md)
--------------------------------------------------------------------------------
/src/elements/ItemList/ItemList.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/scss/themes/debug/header.scss:
--------------------------------------------------------------------------------
1 | /*
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | */
7 |
8 | // header for "ng*"
9 | body {
10 | opacity: 1 !important;
11 | }
--------------------------------------------------------------------------------
/src/scss/themes/ng/main.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | */
7 |
8 | @use 'header.scss';
9 | @use 'body.scss';
10 | @use 'footer.scss';
11 |
--------------------------------------------------------------------------------
/docs/elements/menu/menu.md:
--------------------------------------------------------------------------------
1 | # Menu
2 |
3 | DOM
4 | Layer
5 | Menu
6 |
7 | ***
8 |
9 | ## Description
10 |
11 |
12 | @@include(menu_p.md)
--------------------------------------------------------------------------------
/src/scss/themes/debug/main.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | */
7 |
8 | @use "header.scss";
9 | @use "body.scss";
10 | @use "footer.scss";
11 |
--------------------------------------------------------------------------------
/src/scss/icons/info-circle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/elements/layerpane/layerpane.md:
--------------------------------------------------------------------------------
1 | # LayerPane
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 |
7 | ***
8 |
9 |
10 |
11 | @@include(layerpane_p.md)
--------------------------------------------------------------------------------
/docs/elements/layerpane/layerpane_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter LayerPane
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | pane | <Object> = Pane<PlainObject> | `new SimplePane()` | yes | |
7 | ```
8 |
9 | @@include(../layer/layer_p.md)
--------------------------------------------------------------------------------
/docs/elements/fileupload/fileuploadfile/fileuploadfile.md:
--------------------------------------------------------------------------------
1 | # FileUploadFile
2 |
3 | CUI-Element
4 | FileUploadFile
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(fileuploadfile_p.md)
--------------------------------------------------------------------------------
/docs/elements/stickyheader/stickyheadercontrol/stickyheadercontrol_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter StickyHeaderControl
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | element | isElement | - | yes | Lorem |
6 | ```
7 |
8 | @@include(../../../core/element/element_p.md)
--------------------------------------------------------------------------------
/docs/elements/label/multilinelabel/multilinelabel_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter MultilineLabel
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | multiline | | true | | |
7 |
8 | ```
9 |
10 | @@include(../label/label_p.md)
11 |
--------------------------------------------------------------------------------
/src/elements/ListView/ListViewColumnEmpty.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.ListViewColumnEmpty extends CUI.ListViewColumn
9 | render: ->
10 |
--------------------------------------------------------------------------------
/docs/elements/options/options.md:
--------------------------------------------------------------------------------
1 | # Options
2 |
3 | DOM
4 | Datafield
5 | Options
6 |
7 | ***
8 |
9 | ## Description
10 |
11 |
12 | @@include(options_p.md)
--------------------------------------------------------------------------------
/src/elements/ListView/ListViewTreeHeaderNode.coffee:
--------------------------------------------------------------------------------
1 | class CUI.ListViewTreeHeaderNode extends CUI.ListViewTreeNode
2 | initOpts: ->
3 | super()
4 | @addOpts
5 | headers:
6 | check: (v) ->
7 | v.length > 0
8 |
9 | render: ->
10 | @__is_rendered = true
11 | for header, idx in @_headers
12 | @addColumn(new CUI.ListViewHeaderColumn(header))
13 | @
14 |
--------------------------------------------------------------------------------
/docs/elements/waitblock/waitblock.md:
--------------------------------------------------------------------------------
1 | # Waitblock
2 |
3 | DOM
4 | Block
5 | WaitBlock
6 |
7 | ***
8 |
9 | ## Description
10 |
11 |
12 | @@include(waitblock_p.md)
--------------------------------------------------------------------------------
/src/elements/ListView/ListViewHeaderRow.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.ListViewHeaderRow extends CUI.ListViewRow
9 | isSelectable: ->
10 | false
--------------------------------------------------------------------------------
/docs/elements/multiinput/multiinputcontrol/multiinputcontrol.md:
--------------------------------------------------------------------------------
1 | # MultiInputControl
2 |
3 | CUI-Element
4 | MultiInputControl
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(multiinputcontrol_p.md)
--------------------------------------------------------------------------------
/docs/elements/documentbrowser/documentbrowser/documentbrowser.md:
--------------------------------------------------------------------------------
1 | # DocumentBrowser
2 |
3 | CUI-Element
4 | MultiInputControl
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 |
12 | @@include(documentbrowser_p.md)
--------------------------------------------------------------------------------
/docs/elements/stickyheader/stickyheadercontrol/stickyheadercontrol.md:
--------------------------------------------------------------------------------
1 | # StickyHeaderControl
2 |
3 | CUI-Element
4 | StickyHeaderControl
5 |
6 | ***
7 |
8 | ## Description
9 |
10 |
11 | @@include(stickyheadercontrol_p.md)
12 |
--------------------------------------------------------------------------------
/src/base/Base.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/elements/ListView/tools/ListViewColumnRowMoveHandlePlaceholder.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.ListViewColumnRowMoveHandlePlaceholder extends CUI.ListViewColumnEmpty
9 |
--------------------------------------------------------------------------------
/docs/elements/label/multilinelabel/multilinelabel.md:
--------------------------------------------------------------------------------
1 | # MultilineLabel
2 |
3 | DOM
4 | Label
5 | MultilineLabel
6 |
7 | ***
8 |
9 |
10 | @@include(multilinelabel_p.md)
--------------------------------------------------------------------------------
/docs/elements/popover/popover_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Popover
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | placement | | null | | |
7 | | pointer | | arrow | | |
8 | ```
9 |
10 | @@include(../modal/modal_p.md)
11 |
--------------------------------------------------------------------------------
/src/elements/Pane/PaneFooter.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.PaneFooter extends CUI.Toolbar
9 | init: ->
10 | super()
11 | @addClass("cui-pane-footer")
12 |
13 |
--------------------------------------------------------------------------------
/src/elements/Pane/PaneHeader.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.PaneHeader extends CUI.Toolbar
9 | init: ->
10 | super()
11 | @addClass("cui-pane-header")
12 |
13 |
--------------------------------------------------------------------------------
/src/elements/Pane/PaneToolbar.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.PaneToolbar extends CUI.Toolbar
9 | init: ->
10 | super()
11 | @addClass("cui-pane-toolbar")
12 |
13 |
--------------------------------------------------------------------------------
/src/base/DragDropSelect/DragoverScrollEvent.coffee:
--------------------------------------------------------------------------------
1 | class CUI.DragoverScrollEvent extends CUI.Event
2 | initOpts: ->
3 | super()
4 | @addOpts
5 | count:
6 | mandatory: true
7 | check: (v) =>
8 | CUI.util.isPosInt(v)
9 | originalEvent:
10 | mandatory: true
11 | check: CUI.Event
12 |
13 | getCount: ->
14 | @_count
15 |
16 | getOriginalEvent: ->
17 | @_originalEvent
18 |
--------------------------------------------------------------------------------
/docs/elements/fileupload/filereaderfile/filereaderfile_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter FileReaderFile
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | format | <String> = "ArrayBuffer" | "Text" | "Text" | yes | |
7 |
8 | ```
9 |
10 | @@include(../fileuploadfile/fileuploadfile_p.md)
--------------------------------------------------------------------------------
/docs/elements/input/inputblock/inputblock_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter InputBlock
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | start | <Integer> | - | yes | Lorem |
6 | | string | <String> | - | yes | Lorem |
7 |
8 |
9 | ```
10 |
11 | @@include(../../../core/element/element_p.md)
--------------------------------------------------------------------------------
/docs/elements/modal/modal.md:
--------------------------------------------------------------------------------
1 | # Modal
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Modal
7 |
8 | ***
9 |
10 |
11 |
12 | @@include(modal_p.md)
--------------------------------------------------------------------------------
/src/elements/StickyHeader/StickyHeader.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/components/_css-swatch.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | .css-swatch {
4 | width: 24px;
5 | height: 12px;
6 | box-shadow: 0 0 0 1px hsl(0deg 0% 0% / 14%) inset;
7 | background-color: var(--custom-tag-background);
8 |
9 | @each $color, $value in $colors {
10 | &.cui-swatch-color-#{$color} {
11 | // todo: sass test
12 | background-color: $value;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/docs/elements/borderlayout/borderlayout.md:
--------------------------------------------------------------------------------
1 | # BorderLayout
2 |
3 | DOM
4 | Layout
5 | BorderLayout
6 |
7 | ***
8 |
9 | ## Description
10 |
11 |
12 | @@include(borderlayout_p.md)
13 |
--------------------------------------------------------------------------------
/src/elements/Block/Block.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/prompt/prompt_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Prompt
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | default | <String> | *empty String* | no | Lorem |
7 | | choices | | | | |
8 |
9 | ```
10 |
11 | @@include(../confirm/confirm_p.md)
12 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/components/_console.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | // Console
4 | .cui-console {
5 | padding: $spacer-sm;
6 | font-family: $font-family-monospace;
7 | font-size: $font-size-sm;
8 |
9 | .cui-label-multiline {
10 | margin: $spacer-xs 0 !important;
11 | }
12 |
13 | .cui-label:not(:last-child) {
14 | border-bottom: 1px solid $gray-300;
15 | padding-bottom: $spacer-xs;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/docs/elements/input/numberinputblock/numberinputblock.md:
--------------------------------------------------------------------------------
1 | # NumberInputBlock
2 |
3 | CUI-Element
4 | Inputblock
5 | NumberInputblock
6 |
7 | ***
8 |
9 |
10 | @@include(numberinputblock_p.md)
--------------------------------------------------------------------------------
/docs/elements/pane/pane/pane.md:
--------------------------------------------------------------------------------
1 | # Pane
2 |
3 | DOM
4 | Layout
5 | VerticalLayout
6 | Pane
7 |
8 | ***
9 |
10 |
11 | @@include(pane_p.md)
--------------------------------------------------------------------------------
/docs/elements/fileupload/filereader/filereader.md:
--------------------------------------------------------------------------------
1 | # FileReader
2 |
3 | CUI-Element
4 | FileUpload
5 | FileReader
6 |
7 | ***
8 |
9 | ## Description
10 |
11 |
12 |
13 | @@include(filereader_p.md)
--------------------------------------------------------------------------------
/docs/elements/fileupload/fileuploadbutton/fileuploadbutton.md:
--------------------------------------------------------------------------------
1 | # FileUploadButton
2 |
3 | DOM
4 | Button
5 | FileUploadButton
6 |
7 | ***
8 |
9 | ## Description
10 |
11 |
12 | @@include(fileuploadbutton_p.md)
--------------------------------------------------------------------------------
/docs/elements/input/input/input.md:
--------------------------------------------------------------------------------
1 | # Input
2 |
3 | DOM
4 | DataField
5 | DataFieldInput
6 | Input
7 |
8 | ***
9 |
10 |
11 |
12 | @@include(input_p.md)
--------------------------------------------------------------------------------
/test/preprocessor.js:
--------------------------------------------------------------------------------
1 | const coffee = require('coffeescript');
2 | const babelJest = require('babel-jest');
3 |
4 | module.exports = {
5 | process: (src, path) => {
6 | if (coffee.helpers.isCoffee(path)) {
7 | return coffee.compile(src, {bare: true});
8 | }
9 | if (!/node_modules/.test(path)) {
10 | return babelJest.process(src, path);
11 | }
12 | return src;
13 | }
14 | };
--------------------------------------------------------------------------------
/docs/elements/tooltip/tooltip.md:
--------------------------------------------------------------------------------
1 | # Tooltip
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Tooltip
7 |
8 | ***
9 |
10 | ## Description
11 |
12 |
13 | @@include(tooltip_p.md)
--------------------------------------------------------------------------------
/docs/elements/toolbar/toolbar.md:
--------------------------------------------------------------------------------
1 | # Toolbar
2 |
3 | DOM
4 | Layout
5 | HorizontalLayout
6 | Toolbar
7 |
8 | ***
9 |
10 |
11 | @@include(toolbar_p.md)
--------------------------------------------------------------------------------
/book.json:
--------------------------------------------------------------------------------
1 | {
2 | "root": "./docs",
3 | "title": "Documentation of Coffeescript UI",
4 | "structure": {
5 | "summary": "SUMMARY.md"
6 | },
7 | "plugins": [
8 | "download-pdf-link",
9 | "-lunr",
10 | "-search",
11 | "search-plus"
12 | ],
13 | "pluginsConfig": {
14 | "download-pdf-link": {
15 | "base": "https://www.gitbook.com/download/pdf/book/programmfabrik/coffeescript-ui",
16 | "label": "Download PDF"
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/elements/Button/ButtonHref.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/elements/Label/EmptyLabel.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.EmptyLabel extends CUI.MultilineLabel
9 | constructor: (opts) ->
10 | super(opts)
11 | @addClass("cui-empty-label")
12 |
13 | readOpts: ->
14 | super()
15 |
16 |
--------------------------------------------------------------------------------
/src/elements/ListView/ListViewColumnRightFill.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.ListViewColumnRightFill extends CUI.ListViewColumnEmpty
9 | render: ->
10 |
11 | setElement: ->
12 |
13 | addClass: ->
14 |
15 | removeClass: ->
16 |
--------------------------------------------------------------------------------
/docs/elements/verticallist/verticallist_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter VerticalList
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | content | {} | - | no | Lorem |
6 | | center | | | | |
7 | | maximize | | false | | |
8 | ```
9 |
10 | @@include(../layout/verticallayout/verticallayout_p.md)
11 |
--------------------------------------------------------------------------------
/src/elements/Map/map-input.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/src/elements/MultiInput/MultiInputInput.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
12 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/components/_file-upload.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | // File Upload Drop Zone
4 | .cui-file-upload-drop-zone {
5 | position: relative;
6 | }
7 |
8 | .cui-file-upload-drag-over::after {
9 | content: '';
10 | pointer-events: none;
11 | display: block;
12 | position: absolute;
13 | top: 0;
14 | bottom: 0;
15 | left: 0;
16 | right: 0;
17 | box-shadow: 0 0 0 2px var(--brand-color, #{$primary}) inset;
18 | z-index: 1;
19 | }
20 |
--------------------------------------------------------------------------------
/demo/src/demos/StickyHeader/StickyHeaderDemo.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/docs/SUMMARY.md:
--------------------------------------------------------------------------------
1 | # Summary
2 |
3 | [Introduction](README.md)
4 |
5 | #### Base
6 | * [CUI.dom](base/dom.md)
7 | * [CUI.util](base/util.md)
8 | * [CUI.Element](base/element.md)
9 | * [CUI.Deferred](base/deferred.md)
10 | * [CUI.XHR](base/xhr.md)
11 | * [CUI.Template](base/template.md)
12 | * [CUI.Events](base/events.md)
13 | * [CUI.Event](base/event.md)
14 | * [CUI.Listener](base/listener.md)
15 |
16 | #### Elements
17 | * [CUI.Map](elements/map/map.md)
18 |
--------------------------------------------------------------------------------
/docs/elements/horizontallist/horizontallist_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter HorizontalList
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | content | {} | - | no | Lorem |
7 | | center | | | | |
8 | | center | | false | | |
9 | ```
10 |
11 | @@include(../layout/horizontallayout/horizontallayout_p.md)
--------------------------------------------------------------------------------
/docs/elements/output/output/output.md:
--------------------------------------------------------------------------------
1 | # Output
2 |
3 | DOM
4 | Datafield
5 | DatafieldInput
6 | Output
7 |
8 | ***
9 |
10 | ## Description
11 |
12 |
13 | @@include(output_p.md)
--------------------------------------------------------------------------------
/src/elements/Panel/Panel.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | public/*
2 | .sass-cache
3 | *.coffee.js
4 | *~
5 | *\#
6 | .DS_Store
7 | commit.txt
8 | node_modules
9 | .\#*
10 | .idea
11 | npm-debug.log
12 | src/**.js
13 | src/**.js.map
14 | !public/cui.js
15 | !public/cui.min.js
16 | !public/cui.css
17 | !public/cui_fylr.css
18 | !public/cui_debug.css
19 | !public/cui-tutorial.js
20 | !demo/public/cui-demo.js
21 | !demo/public/cui-demo.css
22 | !demo/public/css
23 | coverage/*
24 | *.map
25 | _obsolete.scss
26 | .node-version
--------------------------------------------------------------------------------
/docs/elements/form/formpopover/formpopover.md:
--------------------------------------------------------------------------------
1 | # FormPopover
2 |
3 | DOM
4 | Datafield
5 | Form
6 | FormPopover
7 |
8 | ***
9 |
10 | ## Description
11 |
12 | @@include(formpopover_p.md)
--------------------------------------------------------------------------------
/docs/elements/label/emptylabel/emptylabel.md:
--------------------------------------------------------------------------------
1 | # EmptyLabel
2 |
3 |
4 | DOM
5 | Label
6 | MultilineLabel
7 | EmptyLabel
8 |
9 | ***
10 |
11 |
12 | @@include(emptylabel_p.md)
--------------------------------------------------------------------------------
/docs/elements/fileupload/filereaderfile/filereaderfile.md:
--------------------------------------------------------------------------------
1 | # FileReaderFile
2 |
3 | CUI-Element
4 | FileUploadFile
5 | FileReaderFile
6 |
7 | ***
8 |
9 | ## Description
10 |
11 |
12 | @@include(filereaderfile_p.md)
--------------------------------------------------------------------------------
/tutorial/src/modules/weather/WeatherService.coffee:
--------------------------------------------------------------------------------
1 | #CUI = require("coffeescript-ui/public/cui.js")
2 |
3 | class WeatherService
4 |
5 | @urlService = "public/weather-service.json?city="
6 |
7 | @getWeather: (city) ->
8 | deferred = new CUI.Deferred()
9 |
10 | xhr = new CUI.XHR
11 | url: @urlService + city
12 |
13 | xhr.start().done((response) =>
14 | deferred.resolve(response.data)
15 | )
16 |
17 | return deferred.promise()
18 |
19 | module.exports = WeatherService
20 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI APP!
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tutorial/src/modules/weather/weather.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Temperature:
5 |
6 |
7 |
8 | Skytext:
9 |
10 |
11 |
12 | Humidity:
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/elements/multiinput/multiinput/multiinput.md:
--------------------------------------------------------------------------------
1 | # MultiInput
2 |
3 | DOM
4 | Datafield
5 | DatafieldInput
6 | MultiInput
7 |
8 | ***
9 |
10 | ## Description
11 |
12 |
13 | @@include(multiinput_p.md)
--------------------------------------------------------------------------------
/docs/elements/verticallist/verticallist.md:
--------------------------------------------------------------------------------
1 | # VerticalList
2 |
3 | DOM
4 | Layout
5 | VerticalLayout
6 | VerticalList
7 |
8 | ***
9 |
10 | ## Description
11 |
12 |
13 | @@include(verticallist_p.md)
--------------------------------------------------------------------------------
/src/base/Events/WheelEvent.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.WheelEvent extends CUI.MouseEvent
9 | dump: ->
10 | super()+" wheelY: **"+@wheelDeltaY()+"**"
11 |
12 | wheelDeltaY: ->
13 | ne = @getNativeEvent()
14 | if not ne
15 | return 0
16 | ne.deltaY or 0
17 |
--------------------------------------------------------------------------------
/src/elements/MultiOutput/MultiOutput.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
12 |
--------------------------------------------------------------------------------
/demo/src/demos/Sudoku/Sudoku.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
14 |
--------------------------------------------------------------------------------
/docs/elements/buttonhref/buttonhref_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ButtonHref
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | href | <String> | - | no | Contains the URL |
7 | | target | <String> | - | no | _blank Opens link in a new tab |
8 | | download | <Boolean> | - | no | true false |
9 | ```
10 |
11 | @@include(../button/button_p.md)
12 |
--------------------------------------------------------------------------------
/docs/elements/listview/listviewrow/listviewrow_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ListviewRow
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | children | <Array> | - | no | Defines the node's data as an array |
6 | | selectable | <Boolean> | - | no | true false |
7 | | class | <String> | - | no | Lorem |
8 |
9 | ```
10 |
11 | @@include(../../../core/element/element_p.md)
--------------------------------------------------------------------------------
/docs/elements/output/outputcontent/outputcontent.md:
--------------------------------------------------------------------------------
1 | # OutputContent
2 |
3 | DOM
4 | Datafield
5 | DatafieldInput
6 | OutputContent
7 |
8 | ***
9 |
10 | ## Description
11 |
12 |
13 | @@include(outputcontent_p.md)
--------------------------------------------------------------------------------
/src/elements/Button/ButtonHref_ng.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
14 |
15 |
--------------------------------------------------------------------------------
/src/elements/Label/MultilineLabel.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.MultilineLabel extends CUI.Label
9 |
10 | constructor: (opts) ->
11 | super(opts)
12 | @addClass("cui-label")
13 |
14 | initOpts: ->
15 | super()
16 | @mergeOpt("multiline", default: true)
17 |
18 |
19 |
--------------------------------------------------------------------------------
/docs/elements/horizontallist/horizontallist.md:
--------------------------------------------------------------------------------
1 | # HorizontalList
2 |
3 | DOM
4 | Layout
5 | HorizontalLayout
6 | HorizontalList
7 |
8 | ***
9 |
10 | ## Description
11 |
12 |
13 | @@include(horizontallist_p.md)
14 |
--------------------------------------------------------------------------------
/docs/elements/icon/icon_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Icon
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | class | String | - | no | Lorem ipsum |
7 | | icon | StringIcon | - | no | Lorem ipsum |
8 | | fixed_width | true false | - | no | Lorem ipsum |
9 | | tooltip | PlainObject | - | no | Lorem ipsum |
10 |
11 | ```
12 |
13 | @@include(../../core/element/element_p.md)
--------------------------------------------------------------------------------
/docs/elements/popover/popover.md:
--------------------------------------------------------------------------------
1 | # Popover
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Modal
7 | Popover
8 |
9 | ***
10 |
11 | ## Description
12 |
13 |
14 | @@include(popover_p.md)
--------------------------------------------------------------------------------
/src/scss/themes/fylr/mixins/_icons.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | @mixin icon($code, $font-size: $icon-font-size) {
4 | content: $code;
5 | display: inline-block;
6 | // stylelint-disable-next-line
7 | font: normal normal normal var(--icon-font-size, #{$font-size}) 'FontAwesome';
8 | text-rendering: auto;
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | }
12 |
13 | @mixin icon-close-xs() {
14 | .svg-close {
15 | width: 9px;
16 | height: 9px;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/form/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Form
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/icon/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Icon
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/modal/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Modal
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/pane/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Pane
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/toaster/toaster_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Toaster
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | choices | | | | |
7 | | backdrop | | false | | |
8 | | show_ms | <Integer> >= 0 | | | |
9 |
10 | ```
11 |
12 | @@include(../confirmationchoice/confirmationchoice_p.md)
13 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/button/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Button
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/doc/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Coffeescript-UI Documentation
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/elements/select/select.md:
--------------------------------------------------------------------------------
1 | # Select
2 |
3 | DOM
4 | Datafield
5 | DatafieldInput
6 | Checkbox
7 | Select
8 |
9 | ***
10 |
11 | ## Description
12 |
13 | @@include(select_p.md)
--------------------------------------------------------------------------------
/docs/elements/multiinput/multiinputcontrol/multiinputcontrol_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter MultiInputControl
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | preferred_key | <String> | - | no | Lorem |
6 | | keys | <Array> and length > 0 | - | no | Lorem |
7 | | user_control | <Boolean> | true | no | true false |
8 | ```
9 |
10 | @@include(../../../core/element/element_p.md)
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/element-props/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Element props
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/demo/src/demos/FileUpload/FileUploadDemo.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/custom-element/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Custom element
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/base/Layer/Layer.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/elements/WaitBlock/WaitBlock.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/src/scss/icons/ruler.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/alert/alert_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Alert
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | button_text_ok | <String> | default: CUI.defaults.class.ConfirmationChoice.defaults.ok | yes | Lorem |
7 | | choices | | | | |
8 | | text | | | yes | |
9 |
10 | ```
11 |
12 | @@include(../confirmationchoice/confirmationchoice_p.md)
13 |
--------------------------------------------------------------------------------
/docs/elements/datafieldinput/datafieldinput_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter DataFieldInput
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | group | <String> | - | no | *group* can be used for buttonbars to specify a group of buttons. Buttons with the same *group*-name will be displayed as a directly conntected buttonbar. |
7 | | attr | PlainObject> | {} | no | |
8 |
9 | ```
10 |
11 | @@include(../datafield/datafield_p.md)
12 |
--------------------------------------------------------------------------------
/docs/elements/password/password.md:
--------------------------------------------------------------------------------
1 | # Password
2 |
3 | DOM
4 | DataField
5 | DataFieldInput
6 | Input
7 | Password
8 |
9 | ***
10 |
11 | ## Description
12 |
13 |
14 | @@include(password_p.md)
--------------------------------------------------------------------------------
/docs/elements/input/emailinput/emailinput.md:
--------------------------------------------------------------------------------
1 | # EmailInput
2 |
3 | DOM
4 | DataField
5 | DataFieldInput
6 | Input
7 | EmailInput
8 |
9 | ***
10 |
11 |
12 |
13 | @@include(emailinput_p.md)
--------------------------------------------------------------------------------
/docs/elements/pane/paneheader/paneheader.md:
--------------------------------------------------------------------------------
1 | # PaneHeader
2 |
3 | DOM
4 | Layout
5 | HorizontalLayout
6 | Toolbar
7 | PaneHeader
8 |
9 | ***
10 |
11 |
12 | @@include(paneheader_p.md)
--------------------------------------------------------------------------------
/docs/elements/input/numberinput/numberinput.md:
--------------------------------------------------------------------------------
1 | # NumberInput
2 |
3 | DOM
4 | DataField
5 | DataFieldInput
6 | Input
7 | NumberInput
8 |
9 | ***
10 |
11 |
12 |
13 | @@include(numberinput_p.md)
--------------------------------------------------------------------------------
/docs/elements/pane/panetoolbar/panetoolbar.md:
--------------------------------------------------------------------------------
1 | # PaneToolbar
2 |
3 | DOM
4 | Layout
5 | HorizontalLayout
6 | Toolbar
7 | PaneToolbar
8 |
9 | ***
10 |
11 |
12 | @@include(panetoolbar_p.md)
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/horizontal-layout/App.coffee:
--------------------------------------------------------------------------------
1 | class App
2 | constructor: ->
3 |
4 | body = new CUI.HorizontalLayout
5 | left:
6 | content: new CUI.Label
7 | centered: true
8 | text: "Left !!"
9 | center:
10 | content: new CUI.Label
11 | centered: true
12 | size: "big"
13 | text: "Hello world!"
14 | icon: "fa-building"
15 | right:
16 | content: new CUI.Label
17 | centered: true
18 | text: "Right"
19 |
20 | CUI.dom.append(document.body, body)
21 |
22 | CUI.ready ->
23 | new App()
--------------------------------------------------------------------------------
/docs/elements/confirmationdialog/confirmationdialog.md:
--------------------------------------------------------------------------------
1 | # ConfirmationDialog
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Modal
7 | ConfirmationDialog
8 |
9 | ***
10 |
11 |
12 |
13 | @@include(confirmationdialog_p.md)
--------------------------------------------------------------------------------
/docs/elements/form/formmodal/formmodal.md:
--------------------------------------------------------------------------------
1 | # FormModal
2 |
3 | DOM
4 | Datafield
5 | Form
6 | FormPopover
7 | FormModal
8 |
9 | ***
10 |
11 | ## Description
12 |
13 |
14 | @@include(formmodal_p.md)
15 |
--------------------------------------------------------------------------------
/docs/elements/multioutput/multioutput.md:
--------------------------------------------------------------------------------
1 | # MultiOutput
2 |
3 | DOM
4 | Datafield
5 | DatafieldInput
6 | Output
7 | MultiOutput
8 |
9 | ***
10 |
11 | ## Description
12 |
13 |
14 | @@include(multioutput_p.md)
--------------------------------------------------------------------------------
/docs/elements/stickyheader/stickyheader/stickyheader_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter StickyHeader
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | control | <Object> = StickyHeaderControl | - | yes | Lorem |
6 | | text | <String> | - | no | Lorem |
7 | | content | {} | - | no | Lorem |
8 | | level | <Integer> = 0 | 1 | 2 | 0 | no | Lorem |
9 | ```
10 |
11 | @@include(../../../core/dom/dom_p.md)
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/vertical-layout/App.coffee:
--------------------------------------------------------------------------------
1 | class App
2 | constructor: ->
3 | body = new CUI.VerticalLayout
4 | top:
5 | content: new CUI.Label
6 | centered: true
7 | text: "I'm a header"
8 | center:
9 | content: new CUI.Label
10 | centered: true
11 | size: "big"
12 | text: "Hello world!"
13 | icon: "fa-building"
14 | bottom:
15 | content: new CUI.Label
16 | centered: true
17 | text: "This is the bottom"
18 |
19 | CUI.dom.append(document.body, body)
20 |
21 | CUI.ready ->
22 | new App()
--------------------------------------------------------------------------------
/docs/elements/form/formbutton/formbutton.md:
--------------------------------------------------------------------------------
1 | # FormButton
2 |
3 | DOM
4 | Datafield
5 | DatafieldInput
6 | Checkbox
7 | FormButton
8 |
9 | ***
10 |
11 | ## Description
12 |
13 |
14 | @@include(formbutton_p.md)
15 |
--------------------------------------------------------------------------------
/docs/elements/pane/panefooter/panefooter.md:
--------------------------------------------------------------------------------
1 | # PaneFooter
2 |
3 | DOM
4 | Layout
5 | HorizontalLayout
6 | Toolbar
7 | PaneFooter
8 |
9 | ***
10 |
11 | ## Description
12 |
13 | @@include(panefooter_p.md)
--------------------------------------------------------------------------------
/docs/elements/tabs/tabs/tabs_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Tabs
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | tabs | <Array> and length > 0 | - | true | Lorem |
6 | | active_idx | <Integer> | - | no | Lorem |
7 | | header_right | | | | |
8 | | header_center | | | | |
9 | | content | | | | |
10 | ```
11 |
12 | @@include(../../pane/simplepane/simplepane_p.md)
13 |
--------------------------------------------------------------------------------
/docs/elements/input/markdowninput/markdowninput.md:
--------------------------------------------------------------------------------
1 | # MarkdownInput
2 |
3 | DOM
4 | DataField
5 | DataFieldInput
6 | Input
7 | MarkdownInput
8 |
9 | ***
10 |
11 | ## Description
12 |
13 |
14 | @@include(markdowninput_p.md)
--------------------------------------------------------------------------------
/src/elements/Pane/Pane.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
13 | Placeholder
14 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/border-layout/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI APP!
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/base/Dummy.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | # dummy class so we can use "extend" to mark
9 | # our classes for use in CUI.Element.readOpts
10 | class CUI.Dummy
11 | constructor: (opts = {}) ->
12 | @opts = opts
13 | @__uniqueId = CUI.Dummy.uniqueId++
14 | @__cls = CUI.util.getObjectClass(@)
15 |
16 | getUniqueId: ->
17 | @__uniqueId
18 |
19 | @uniqueId: 0
20 |
21 | CUI.Dummy
--------------------------------------------------------------------------------
/src/elements/MultiInput/MultiInputInput.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | CUI.Template.loadTemplateText(require('./MultiInputInput.html'));
9 |
10 | class CUI.MultiInputInput extends CUI.Input
11 | getTemplate: ->
12 | new CUI.Template
13 | name: "data-field-multi-input"
14 | map:
15 | center: true
16 | right: true
17 |
18 | getTemplateKeyForRender: ->
19 | "center"
20 |
--------------------------------------------------------------------------------
/docs/elements/toolbar/toolbar_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Toolbar
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | maximize_horizontal | <Boolean> | true | yes | true false |
6 | | maximize | | | | |
7 | | maximize_horizontal | | | | |
8 | | maximize_vertical | | | | |
9 | ```
10 |
11 | @@include(../layout/horizontallayout/horizontallayout_p.md)
12 |
--------------------------------------------------------------------------------
/src/elements/HorizontalList/HorizontalList.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.HorizontalList extends CUI.HorizontalLayout
9 | initOpts: ->
10 | super()
11 | @mergeOpt("maximize", default: false)
12 | @removeOpt("center")
13 | @addOpts
14 | content: {}
15 |
16 | readOpts: ->
17 | super()
18 | @_center =
19 | content: @_content
20 |
21 | getSupportedPanes: ->
22 | []
23 |
--------------------------------------------------------------------------------
/src/elements/VerticalList/VerticalList.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.sorg
6 | ###
7 |
8 | class CUI.VerticalList extends CUI.VerticalLayout
9 | initOpts: ->
10 | super()
11 | @mergeOpt("maximize", default: false)
12 | @removeOpt("center")
13 | @addOpts
14 | content: {}
15 |
16 | readOpts: ->
17 | super()
18 | @_center =
19 | content: @_content
20 |
21 | getSupportedPanes: ->
22 | []
23 |
24 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/_cursors.scss:
--------------------------------------------------------------------------------
1 | @use 'sass:list';
2 |
3 | $drag-cursors: default, move, col-resize, row-resize, n-resize, e-resize, s-resize, w-resize, ne-resize, nw-resize, se-resize, sw-resize, ew-resize, ns-resize, nesw-resize, nwse-resize;
4 |
5 | body[data-cursor] {
6 | user-select: none;
7 | }
8 |
9 | @for $i from 1 to list.length($drag-cursors) {
10 | $cursor: list.nth($drag-cursors, $i);
11 |
12 | body[data-cursor="#{$cursor}"] * {
13 | cursor: $cursor !important;
14 | }
15 | }
16 |
17 | // special case with prefix
18 | body[data-cursor='grabbing'] * {
19 | cursor: grabbing !important;
20 | }
21 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/layout-complete/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Layout complete
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/vertical-layout/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Vertical Layout
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/horizontal-layout/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Horizontal Layout
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/docs/elements/tabs/tabs/tabs.md:
--------------------------------------------------------------------------------
1 | # Tabs
2 |
3 | DOM
4 | Layout
5 | VerticalLayout
6 | Pane
7 | SimplePane
8 | Tabs
9 |
10 | ***
11 |
12 | ## Description
13 |
14 |
15 | @@include(tabs_p.md)
--------------------------------------------------------------------------------
/src/scss/themes/fylr/mixins/index.scss:
--------------------------------------------------------------------------------
1 | @forward 'block';
2 | @forward 'breakpoints';
3 | @forward 'buttons';
4 | @forward 'buttonbar';
5 | @forward 'checkbox';
6 | @forward 'clickable';
7 | @forward 'disabled';
8 | @forward 'flex-layout';
9 | @forward 'forms';
10 | @forward 'handles';
11 | @forward 'icons';
12 | @forward 'labels';
13 | @forward 'layer';
14 | @forward 'list-view';
15 | @forward 'list-view-use-css-grid-layout';
16 | @forward 'pane';
17 | @forward 'scrim-gradient';
18 | @forward 'scrollbar';
19 | @forward 'table';
20 | @forward 'tabs';
21 | @forward 'text-truncate';
22 | @forward 'toolbar';
23 | @forward 'typography';
--------------------------------------------------------------------------------
/docs/elements/fileupload/fileuploadbutton/fileuploadbutton_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter FileUploadButton
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | fileUpload | check: FileUpload | - | yes | Lorem |
6 | | multiple | <Boolean> | true | no | true false |
7 | | directory | <Boolean> | - | no | Whether to allow file drop on the button.true false |
8 | | drop | <Boolean> | - | no | true false |
9 |
10 | ```
11 |
12 | @@include(../../button/button_p.md)
--------------------------------------------------------------------------------
/docs/elements/layout/layout/layout.md:
--------------------------------------------------------------------------------
1 | # Layout
2 |
3 | DOM
4 | Layout
5 | ***
6 |
7 | ## Description
8 | In order to arrange elements within your UI, there are basically two concepts of alignment provided:
9 | - VerticalLayout
10 | - HorizontalLayout
11 |
12 | ## Creating a Layout
13 |
14 | VerticalLayout as well as HorizontalLayout are both derived from this Layout-class which provides the basic functionality.
15 |
16 |
17 |
18 |
19 | @@include(layout_p.md)
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/vertical-horizontal-list/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CUI - Vertical & Horizontal List
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/demo/src/demos/PanelDemo.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class Demo.PanelDemo extends Demo
9 | display: ->
10 | p1 = new CUI.Panel
11 | text: "Panel title"
12 | content: @getBlindText(3)
13 |
14 | p2 = new CUI.Panel
15 | text: "Schröders Katze"
16 | closed: true
17 | content: @getBlindText(5)
18 |
19 | [ p1.DOM, p2.DOM ]
20 |
21 | undisplay: ->
22 |
23 |
24 | Demo.register(new Demo.PanelDemo())
25 |
--------------------------------------------------------------------------------
/docs/elements/form/formpopover/formpopover_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter FormPopover
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | popover | <Object> = PlainObject | {} | no | Lorem |
7 | | button | <Object> = PlainObject | {} | no | Lorem |
8 | | trigger_data_changed_while_open | <Boolean> | false | no | true false |
9 | | renderDisplayButton | check: Function | - | no | Lorem |
10 | | renderDisplayContent | check: Function | - | no | |
11 |
12 | ```
13 |
14 | @@include(../form/form_p.md)
--------------------------------------------------------------------------------
/src/base/Deferred/decide.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | # returns a deferred which resolves if the
9 | # decision was positive or rejects if otherwise
10 | CUI.decide = (decision) =>
11 | dfr = new CUI.Deferred()
12 | if CUI.util.isPromise(decision)
13 | decision.done(dfr.resolve)
14 | decision.fail(dfr.reject)
15 | else if decision == false
16 | dfr.reject(false)
17 | else
18 | dfr.resolve(decision)
19 | dfr.promise()
20 |
--------------------------------------------------------------------------------
/docs/elements/output/outputcontent/outputcontent_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter OutputContent
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | placeholder | <String> | *emty string* | no | Lorem |
7 | | content | isElement(v) or isElement(v.DOM) | - | no | Lorem |
8 |
9 |
10 | ## Callbacks OutputContent
11 |
12 | | Callback | Format | Default | Mandatory | Description |
13 | | --- | --- | :---: | :---: | --- |
14 | | getValue | function() | - | no | Lorem |
15 | ```
16 |
17 | @@include(../../datafieldinput/datafieldinput_p.md)
18 |
--------------------------------------------------------------------------------
/src/elements/ListView/tools/ListViewDraggable.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.ListViewDraggable extends CUI.Draggable
9 |
10 | initOpts: ->
11 | super()
12 | @removeOpt("helper")
13 | @addOpts
14 | row:
15 | mandatory: true
16 | check: CUI.ListViewRow
17 |
18 | readOpts: ->
19 | super()
20 | @__row_i = @_row.getRowIdx()
21 |
22 | get_marker: (cls="") ->
23 | CUI.dom.element("DIV", class: "cui-lv-draggable "+cls)
24 |
25 |
--------------------------------------------------------------------------------
/demo/src/demos/Form/FormDemo.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
18 |
--------------------------------------------------------------------------------
/src/elements/ProgressMeter/ProgressMeter.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/confirmationchoice/confirmationchoice.md:
--------------------------------------------------------------------------------
1 | # ConfirmationChoice
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Modal
7 | ConfirmationDialog
8 | ConfirmationChoice
9 |
10 | ***
11 |
12 |
13 |
14 | @@include(confirmationchoice_p.md)
--------------------------------------------------------------------------------
/docs/elements/datafieldinput/datafieldinput.md:
--------------------------------------------------------------------------------
1 | # DataFieldInput
2 |
3 | DOM
4 | Datafield
5 | DatafieldInput
6 |
7 | ***
8 |
9 | ## Description
10 | Lorem Ipsum
11 |
12 | ## Creating a DataFieldInput
13 |
14 | ##### instructions
15 |
16 | 1.
17 | To build a new button you simply create a new object of the type *Button*.
18 | ```coffeescript
19 | myDatafield = new DataFieldInput
20 |
21 | ```
22 |
23 |
24 |
25 | @@include(datafieldinput_p.md)
26 |
27 |
--------------------------------------------------------------------------------
/docs/elements/tooltip/tooltip_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Tooltip
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | text | <String>function() | - | no | Lorem |
7 | | markdown | <Boolean> | false | yes | true false |
8 | | content | <String>function()isElement<Array>isElement(v?.DOM) | - | no | Lorem |
9 | | on_click | <Boolean> | false | yes | Hide/show on click on element.true false |
10 | | on_hover | <Boolean>function() | - | no | Lorem |
11 |
12 | ```
13 |
14 | @@include(../layerpane/layerpane_p.md)
--------------------------------------------------------------------------------
/src/elements/Map/map.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/elements/listview/listviewtreenode/listviewtreenode_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ListviewTreeNode
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | children | <Array> | - | no | Defines the node's data as an array |
7 | | open | <Boolean> | - | no | true false |
8 | | html | {} | - | no | Lorem |
9 |
10 |
11 | ## Callbacks ListviewTreeNode
12 |
13 | | Callback | Format | Default | Mandatory | Description |
14 | | --- | --- | :---: | :---: | --- |
15 | | getChildren | function() | - | no | Lorem |
16 | ```
17 |
18 | @@include(../listviewrow/listviewrow_p.md)
--------------------------------------------------------------------------------
/src/elements/Label/Label.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
12 |
15 |
--------------------------------------------------------------------------------
/docs/elements/input/markdowninput/markdowninput_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter MarkdownInput
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | preview | <Boolean> | - | no | true false |
7 | | preview_ms | <Integer> >= 0 | 500 | no Lorem |
8 | | textarea | | | | |
9 |
10 |
11 | ## Callbacks MarkdownInput
12 |
13 | | Callback | Format | Default | Mandatory | Description |
14 | | --- | --- | :---: | :---: | --- |
15 | | renderFunction | function() | marked(md) | yes | Lorem |
16 | ```
17 |
18 | @@include(../input/inputt_p.md)
19 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/mixins/_table.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | @mixin table-zebra() {
4 | // .cui-table
5 |
6 | @include table-no-border();
7 |
8 | .cui-table-row {
9 | &:nth-child(odd) .cui-table-td {
10 | background: $table-odd-background;
11 | }
12 |
13 | &:nth-child(even) .cui-table-td {
14 | background: $table-even-background;
15 | }
16 | }
17 | }
18 |
19 | @mixin table-row-hover() {
20 | .cui-table-row {
21 | &:hover {
22 | .cui-table-td {
23 | background-color: $table-row-hover-background;
24 | }
25 | }
26 | }
27 | }
28 |
29 | @mixin table-no-border() {
30 | border: 0;
31 |
32 | > .cui-tr + .cui-tr {
33 | > .cui-table-td {
34 | border-top: 0;
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/border-layout/App.coffee:
--------------------------------------------------------------------------------
1 | class App
2 | constructor: ->
3 |
4 | body = new CUI.BorderLayout
5 | west:
6 | content: new CUI.Label
7 | centered: true
8 | text: "West"
9 | east:
10 | content: new CUI.Label
11 | centered: true
12 | text: "East"
13 | center:
14 | content: new CUI.Label
15 | centered: true
16 | size: "big"
17 | text: "Hello world!"
18 | icon: "fa-building"
19 | north:
20 | content: new CUI.Label
21 | centered: true
22 | text: "North"
23 | south:
24 | content: new CUI.Label
25 | centered: true
26 | text: "South"
27 |
28 | CUI.dom.append(document.body, body)
29 |
30 | CUI.ready ->
31 | new App()
--------------------------------------------------------------------------------
/docs/elements/checkbox/checkbox.md:
--------------------------------------------------------------------------------
1 | # Checkbox
2 |
3 | DOM
4 | Datafield
5 | DatafieldInput
6 | Checkbox
7 |
8 | ***
9 |
10 | ## Description
11 | Lorem Ipsum
12 |
13 | ## Creating a Checkbox
14 |
15 | ##### instructions
16 |
17 | 1.
18 | To build a new button you simply create a new object of the type *Button*.
19 | ```coffeescript
20 | myCheckBox = new Checkbox
21 |
22 | ```
23 |
24 |
25 | @@include(checkbox_p.md)
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/alert/alert.md:
--------------------------------------------------------------------------------
1 | # Alert
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Modal
7 | ConfirmationDialog
8 | ConfirmationChoice
9 | Alert
10 |
11 | ***
12 |
13 |
14 |
15 | @@include(alert_p.md)
--------------------------------------------------------------------------------
/docs/elements/layout/layout/layout_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Layout
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | absolute | <Boolean> | - | no | true false |
7 | | maximize | <Boolean> | - | no | true false |
8 | | maximize_horizontal | <Boolean> | - | no | true false |
9 | | maximize_vertical | <Boolean> | - | no | true false |
10 | | auto_buttonbar | <Boolean> | true | yes | true false |
11 | | center | <PlainObject> | {} | no | |
12 | ```
13 |
14 | @@include(../../../core/dom/dom_p.md)
--------------------------------------------------------------------------------
/docs/elements/menu/menu_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Menu
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | itemList | <Object> = ItemList<Object> = PlainObject | - | no | Lorem |
7 | | auto_close_after_click | <Boolean> | true | no | true false |
8 | | parent_menu | <Object> = Menu | - | no | Lorem |
9 |
10 |
11 | ## Callbacks Menu
12 |
13 | | Callback | Format | Default | Mandatory | Description |
14 | | --- | --- | :---: | :---: | --- |
15 | | onBeforeItemListInit | function() | - | no | |
16 | ```
17 |
18 | @@include(../layer/layer_p.md)
19 |
--------------------------------------------------------------------------------
/src/elements/Input/NumberInputBlock.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.NumberInputBlock extends CUI.InputBlock
9 |
10 | incrementBlock: (block, blocks) ->
11 | @__changeBlock(block, blocks, 1)
12 |
13 | decrementBlock: (block, blocks) ->
14 | @__changeBlock(block, blocks, -1)
15 |
16 | __changeBlock: (block, blocks, diff) ->
17 | number = parseInt(@__string)
18 | nn = (""+(number+diff)).split("")
19 | # while nn.length < match_len
20 | # nn.splice(0, 0, "0")
21 | block.setString(nn.join(""))
22 |
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/confirm/confirm_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Confirm
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | button_text_ok | <String> | CUI.defaults.class.ConfirmationChoice.defaults.ok | yes | Lorem |
6 | | button_text_cancel | <String> | CUI.defaults.class.ConfirmationChoice.defaults.cancel | yes | Lorem |
7 | | button_primary | <String> = "ok" | "cancel" | "ok" | yes | Lorem |
8 | | choices | | | | |
9 | | text | | | yes | |
10 | ```
11 |
12 | @@include(../confirmationchoice/confirmationchoice_p.md)
13 |
--------------------------------------------------------------------------------
/src/elements/FileUpload/FileUploadButton.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/elements/block/block_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Block
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | text | <String> | - | no | Lorem |
7 | | header | isContent<String>.DOM | - | no | Lorem |
8 | | icon | <Icon> | - | no | Lorem |
9 | | content | isContent<String>.DOM | - | no | Lorem |
10 | | level | <Integer> = 1 | 2 | 3 | 1 | yes | 1 2 3 |
11 | | appearance | <String> = "title" | "subtitle" | "normal" | "normal" | yes | title subtitle normal |
12 |
13 | ```
14 |
15 | @@include(../../core/dom/dom_p.md)
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/confirm/confirm.md:
--------------------------------------------------------------------------------
1 | # Confirm
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Modal
7 | ConfirmationDialog
8 | ConfirmationChoice
9 | Confirm
10 |
11 | ***
12 |
13 |
14 |
15 | @@include(confirm_p.md)
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/toaster/toaster.md:
--------------------------------------------------------------------------------
1 | # Toaster
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Modal
7 | ConfirmationDialog
8 | ConfirmationChoice
9 | Toaster
10 |
11 | ***
12 |
13 |
14 |
15 |
16 | @@include(toaster_p.md)
--------------------------------------------------------------------------------
/src/elements/Input/ByteSizeInput.coffee:
--------------------------------------------------------------------------------
1 | class CUI.ByteSizeInput extends CUI.Input
2 |
3 | render: ->
4 | super()
5 |
6 | selectData = {}
7 | select = new CUI.Select
8 | data: selectData
9 | onDataChanged: ->
10 | console.log(selectData)
11 | options: [
12 | text: "Bytes"
13 | value: "bytes"
14 | ,
15 | text: "MB"
16 | value: "mb"
17 | ,
18 | text: "GB"
19 | value: "gb"
20 | ]
21 | select.start()
22 |
23 | parent = @__input.parentElement
24 | horizontalLayout = new CUI.HorizontalLayout
25 | center:
26 | content: [@__input, select]
27 | CUI.dom.replace(parent, horizontalLayout)
28 | return @
29 |
30 | storeValue: (value) ->
31 | console.log(value)
32 | super(value, flags)
33 | @
34 |
--------------------------------------------------------------------------------
/src/scss/icons/rows.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | rows
6 | Created with Sketch.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/icon/App.coffee:
--------------------------------------------------------------------------------
1 | class App
2 | constructor: ->
3 |
4 | body = new CUI.HorizontalLayout
5 | left:
6 | content: new CUI.Label
7 | centered: true
8 | text: "Left !!"
9 | center:
10 | content: new CUI.VerticalList
11 | content: [
12 | new CUI.Icon
13 | icon: "fa-building"
14 | fixed_width: true
15 | ,
16 | new CUI.Icon
17 | icon: CUI.Icon.icon_map.camera
18 | ,
19 | new CUI.Icon
20 | icon: "fa-times"
21 | tooltip: text: "Hello, I'm a tooltip"
22 | ]
23 | right:
24 | content: new CUI.Label
25 | centered: true
26 | text: "Right"
27 |
28 | CUI.dom.append(document.body, body)
29 |
30 | CUI.ready ->
31 | new App()
--------------------------------------------------------------------------------
/demo/src/demos/ObjectDumper/ObjectDumperDemo.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2017 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class Demo.ObjectDumperDemo extends Demo
9 | getGroup: ->
10 | "Extra"
11 |
12 | display: ->
13 | div = CUI.dom.div("cui-object-dumper-demo")
14 |
15 | data = require('./example2.json');
16 |
17 | console.debug CUI.util.dump(data)
18 | od = new CUI.ObjectDumper
19 | header_left: new CUI.Label(text: 'example2.json')
20 | do_open: true
21 | object: data
22 | CUI.dom.append(div, od)
23 |
24 | div
25 |
26 |
27 | Demo.register(new Demo.ObjectDumperDemo())
28 |
--------------------------------------------------------------------------------
/demo/src/demos/ObjectDumper/example2.json:
--------------------------------------------------------------------------------
1 | {
2 | "medien_ab": {
3 | "text1": "Titel1",
4 | "schlagwoerter": [
5 | null,
6 | null,
7 | null,
8 | null,
9 | null,
10 | {
11 | "lk_schlagwort_id": "haselnuss"
12 | }
13 | ],
14 | "personen": [
15 | null,
16 | null,
17 | null,
18 | {
19 | "person": "Sebastian"
20 | }
21 | ],
22 | "fotograf": "Maxima, Charlotte",
23 | "zusatzliche_titel": [
24 | null,
25 | null,
26 | null,
27 | null,
28 | null,
29 | null,
30 | null,
31 | {
32 | "zusatz_titel": "Titel8"
33 | }
34 | ],
35 | "_pool": {
36 | "pool": {
37 | "_id": 2
38 | }
39 | },
40 | "_id_parent": null,
41 | "_version": 1
42 | },
43 | "_mask": "medien_ab__all_fields"
44 | }
--------------------------------------------------------------------------------
/src/scss/themes/fylr/mixins/_text-truncate.scss:
--------------------------------------------------------------------------------
1 | // Text truncate
2 | // Requires inline-block or block for proper styling
3 |
4 | @mixin text-truncate() {
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | white-space: nowrap;
8 | }
9 |
10 | @mixin revert-text-truncate() {
11 | overflow: initial;
12 | text-overflow: initial;
13 | white-space: initial;
14 | }
15 |
16 | // deprecated, use text-truncate instead
17 | @mixin ellipsis() {
18 | @include text-truncate();
19 | }
20 |
21 | @mixin line-clamp($lines: 2) {
22 | @supports (-webkit-line-clamp: 1) {
23 | white-space: normal;
24 | display: -webkit-box;
25 | -webkit-box-orient: vertical;
26 | -webkit-line-clamp: $lines;
27 | overflow: hidden;
28 | overflow-wrap: break-word;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/tutorial/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cui-tutorial",
3 | "version": "1.0.0",
4 | "description": "Tutorial for Coffeescript User Interface System",
5 | "scripts": {
6 | "build": "webpack --progress",
7 | "build:watch": "webpack --watch --progress"
8 | },
9 | "keywords": [
10 | "coffeescript",
11 | "ui",
12 | "tutorial"
13 | ],
14 | "author": "Programmfabrik GmbH",
15 | "license": "MIT",
16 | "devDependencies": {
17 | "coffee-loader": "^1.0.0",
18 | "coffee-script": "^1.12.7",
19 | "coffeescript-ui": "v1.7.1",
20 | "sass-loader": "^10.0.0",
21 | "css-loader": "^5.0.0",
22 | "html-loader": "^1.0.0",
23 | "style-loader": "^2.0.0",
24 | "webpack": "^4.41.5",
25 | "webpack-cli": "^4.5.0"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/elements/Options/Options.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
16 |
21 |
--------------------------------------------------------------------------------
/src/scss/icons/popup.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | popup
5 | Created with Sketch.
6 |
7 |
8 |
12 |
13 |
--------------------------------------------------------------------------------
/src/scss/icons/reset.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | reset
5 | Created with Sketch.
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/scss/icons/info-circle-ng.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 | info-circle-ng
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/docs/elements/modal/modal_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Modal
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | cancel | <Boolean> | - | no | true false |
7 | | cancel_action | <String> = "destroy" | "hide" | "destroy" | no | Lorem |
8 | | fill_screen_buttons | <Boolean> | - | no | Show a fill screen buttontrue false |
9 |
10 |
11 | ## Callbacks Modal
12 |
13 | | Callback | Format | Default | Mandatory | Description |
14 | | --- | --- | :---: | :---: | --- |
15 | | onCancel | function() | - | no | Lorem |
16 | | onToggleFillScreen | function() | - | no | |
17 | ```
18 |
19 | @@include(../layerpane/layerpane_p.md)
--------------------------------------------------------------------------------
/src/base/DataField/DataFieldInput.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.DataFieldInput extends CUI.DataField
9 | constructor: (opts) ->
10 | super(opts)
11 | CUI.dom.setAttributeMap(@DOM, @_attr)
12 | @addClass("cui-data-field-input")
13 |
14 | initOpts: ->
15 | super()
16 | @addOpts
17 | #group can be used for buttonbars to specify a group css style
18 | group:
19 | check: String
20 | # attributes for the @DOM element
21 | attr:
22 | default: {}
23 | check: "PlainObject"
24 |
25 | getGroup: ->
26 | @_group
27 |
28 | isResizable: ->
29 | true
30 |
31 |
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/confirmationchoice/confirmationchoice_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ConfirmationChoice
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | choices | <Array> | [] | yes | Lorem |
7 | | buttons | | | | |
8 | | header_right | | | | |
9 | | cancel_action | | | | |
10 |
11 |
12 | ## Callbacks ConfirmationChoice
13 |
14 | | Parameter | Format | Default | Mandatory | Description |
15 | | --- | --- | :---: | :---: | --- |
16 | | onChoice | function() | - | no | Lorem |
17 | ```
18 |
19 | @@include(../../confirmationdialog/confirmationdialog_p.md)
20 |
--------------------------------------------------------------------------------
/docs/elements/output/output/output_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Output
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | placeholder | <String> | *empty String* | no | Lorem |
7 | | text | <String> | - | no | Lorem |
8 | | markdown | <Boolean> | false | yes | Set to true for placeholder and text.true false |
9 | | multiline | <Boolean> | - | no | true false |
10 |
11 |
12 | ## Callbacks Output
13 |
14 | | Callback | Format | Default | Mandatory | Description |
15 | | --- | --- | :---: | :---: | --- |
16 | | getValue | function() | - | no | Lorem |
17 | ```
18 |
19 | @@include(../../datafieldinput/datafieldinput_p.md)
20 |
--------------------------------------------------------------------------------
/docs/elements/waitblock/waitblock_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter WaitBlock
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | inactive | <Boolean> | - | no | Inactive is used to block content from being accessed.true false |
7 | | element | isElement(v) or isElement(v.DOM) | - | no | Lorem |
8 | | fullscreen | <Boolean> | - | no | Use to put this wait block fullscreen.true false |
9 | | header | | | | |
10 | | content | | | | |
11 | | icon | <String><Instance of Object> = Icon | | | |
12 |
13 | ```
14 |
15 | @@include(../block/block_p.md)
--------------------------------------------------------------------------------
/tutorial/src/App.coffee:
--------------------------------------------------------------------------------
1 | #CUI = require("coffeescript-ui/public/cui.js")
2 | require('coffeescript-ui/public/cui.css')
3 | require('./scss/base.scss')
4 |
5 | Weather = require('./modules/weather/Weather.coffee')
6 |
7 | class App
8 | constructor: ->
9 | body = new CUI.VerticalLayout
10 | class: "tutorial-main-layout"
11 | top:
12 | class: "tutorial-main-layout-top"
13 | content: new CUI.Label
14 | text: "Welcome to Coffeescript UI Tutorial"
15 | icon: "fa-star"
16 | center:
17 | content: new Weather(city: "Berlin").render()
18 | bottom:
19 | class: "tutorial-main-layout-bottom"
20 | content: new CUI.Label
21 | text: "This is the bottom"
22 |
23 | CUI.dom.append(document.body, body)
24 |
25 | CUI.ready ->
26 | new App()
--------------------------------------------------------------------------------
/src/scss/themes/fylr/mixins/_toolbar.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | @mixin toolbar-gap() {
4 | --toolbar-gap: #{$spacer-sm};
5 |
6 | // add gap between toolbar layout columns (left, center, right)
7 | gap: var(--toolbar-gap);
8 |
9 | // reset gap if a layout is empty
10 | > .cui-horizontal-layout-left:empty {
11 | margin-right: calc(-1 * var(--toolbar-gap));
12 | }
13 |
14 | > .cui-horizontal-layout-center:empty {
15 | margin: 0 calc(-0.5 * var(--toolbar-gap));
16 | }
17 |
18 | > .cui-horizontal-layout-right:empty {
19 | margin-left: calc(-1 * var(--toolbar-gap));
20 | }
21 |
22 | // spacing of the content within the layout columns (content can be buttons, labels, data-input, buttonbar, buttonbar-group etc.)
23 | > [class*='cui-horizontal-layout'] {
24 | gap: var(--toolbar-gap);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/docs/elements/datetime/datetime_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter DateTime
3 |
4 | | Parameter | DateTimeat | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | locale | Array of type *DateTime* | locale | yes | Lorem |
7 | | input_types | Array | [date_time] | no | Lorem |
8 | | display_type | longshort | long | no | Lorem |
9 | | min_year | Integer | 0 | yes | Lorem |
10 | | max_year | Integer | 2499 | yes | Lorem |
11 | | getValueForDisplay | | | | |
12 | | getValueForInput | | | | |
13 | | checkInput | | | | |
14 | | getInputBlocks | | | | |
15 |
16 | ```
17 |
18 | @@include(../input/input/input_p.md)
19 |
--------------------------------------------------------------------------------
/src/elements/Toolbar/Toolbar.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | #Organizes/Layouts tools ({Button}s or other Elements) in a horizontal Toolbar
9 | class CUI.Toolbar extends CUI.HorizontalLayout
10 | init: ->
11 | super()
12 | @addClass("cui-toolbar")
13 |
14 | initOpts: ->
15 | super()
16 |
17 | @removeOpt("maximize")
18 | @removeOpt("maximize_horizontal")
19 | @removeOpt("maximize_vertical")
20 | @addOpts
21 | maximize_horizontal:
22 | default: true
23 | mandatory: true
24 | check: Boolean
25 |
26 | hasFlexHandles: ->
27 | false
28 |
29 | getPanes: ->
30 | ["left", "right"]
31 |
--------------------------------------------------------------------------------
/docs/elements/pane/simplepane/simplepane_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter SimplePane
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | title | {} | - | no | CUI-Element |
6 | | header_right | {} | - | no | CUI-Element |
7 | | header_center | {} | - | no | CUI-Element |
8 | | header_left | {} | - | no | CUI-Element |
9 | | footer_left | {} | - | no | CUI-Element
10 | | footer_right | {} | - | no | CUI-Element |
11 | | content | {} | - | no | CUI-Element |
12 | | top | | | | |
13 | | bottom | | | | |
14 | | center | | | | |
15 | | padding | | normal | | |
16 | ```
17 |
18 | @@include(../pane/pane_p.md)
19 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/index.coffee:
--------------------------------------------------------------------------------
1 | CUI.ready =>
2 | examples = ["vertical-layout", "horizontal-layout", "border-layout", "vertical-horizontal-list",
3 | "layout-complete", "form", "button", "pane", "icon", "modal", "custom-element", "element-props"]
4 | exampleLinks = examples.map((example) =>
5 | new CUI.ButtonHref
6 | href: "examples/#{example}/index.html"
7 | appearance: "link"
8 | text: example
9 | )
10 |
11 | exampleLinks.push(new CUI.ButtonHref
12 | href: "https://programmfabrik.github.io/coffeescript-ui-demo/public/index.html"
13 | appearance: "link"
14 | text: "Demo"
15 | )
16 |
17 | body = new CUI.VerticalLayout
18 | center:
19 | content: new CUI.Pane
20 | auto_buttonbar: false
21 | padded: true
22 | center:
23 | content: exampleLinks
24 |
25 | CUI.dom.append(document.body, body)
--------------------------------------------------------------------------------
/docs/elements/confirmationchoice/prompt/prompt.md:
--------------------------------------------------------------------------------
1 | # Prompt
2 |
3 | DOM
4 | Layer
5 | Layerpane
6 | Modal
7 | ConfirmationDialog
8 | ConfirmationChoice
9 | Confirm
10 | Prompt
11 |
12 | ***
13 |
14 |
15 |
16 | @@include(prompt_p.md)
--------------------------------------------------------------------------------
/src/scss/themes/fylr/components/_buttonbar.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 | @use '../mixins/buttonbar' as *;
3 |
4 | .cui-buttonbar {
5 | display: flex;
6 | align-items: center;
7 |
8 | @include buttonbar-horizontal(); // default stack horizontally
9 | }
10 |
11 |
12 | // * Buttonbar Group
13 | // all buttons within a buttonbar-group are visually and functionally a unit, like radio buttons, there always have a border by default, see buttonbar mixins
14 | // e.g. options, radio buttons
15 |
16 | .cui-buttonbar-group {
17 | display: flex;
18 |
19 | .cui-disabled {
20 | opacity: 1;
21 |
22 | .cui-button-visual > * {
23 | opacity: $disabled-opacity;
24 | }
25 | }
26 | }
27 |
28 | // * Buttonbar Group with input field, used for navigation
29 | .cui-buttonbar-group-navi {
30 | @include buttonbar-group-navigation();
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/components/_data-table.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 | @use '../mixins/list-view' as *;
3 |
4 | // Data Table
5 | .cui-data-table {
6 | flex-shrink: 1;
7 | display: inline-block;
8 |
9 | &.cui-maximize-horizontal {
10 | display: block;
11 | }
12 |
13 | &.cui-maximize-vertical {
14 | display: flex;
15 | flex: 1;
16 | }
17 |
18 | &.cui-maximize {
19 | flex-basis: 0; // IE 11 correct scrollbar in list-view
20 | }
21 |
22 | > .cui-vertical-layout-center {
23 | flex-shrink: 1;
24 | }
25 |
26 | input,
27 | textarea {
28 | min-width: 0;
29 | }
30 |
31 | .cui-list-view {
32 | --list-view-border-width: 1px;
33 |
34 | @include list-view-hide-double-bottom-border();
35 |
36 | > .cui-vertical-layout-bottom > .cui-pane-footer {
37 | padding: $toolbar-padding !important;
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/docs/elements/listview/listviewcolumn/listviewcolumn_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ListViewColumn
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | class | <String> | *empty String* | no | Lorem |
7 | | attrs | <PlainObject> | null | no | Lorem |
8 | | text | <String> | - | no | Lorem |
9 | | colspan | <Integer> | - | no | 1 2 ...n |
10 | | element | isContent<String> | - | n | Lorem |
11 |
12 |
13 | ## Callbacks ListViewColumn
14 |
15 | | Callback | Format | Default | Mandatory | Description |
16 | | --- | --- | :---: | :---: | --- |
17 | | onSetElement | function() | - | no | |
18 | ```
19 |
20 | @@include(../../../core/element/element_p.md)
--------------------------------------------------------------------------------
/src/scss/icons/grid.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | grid
6 | Created with Sketch.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/docs/elements/form/form/form.md:
--------------------------------------------------------------------------------
1 | # Form
2 |
3 | DOM
4 | Datafield
5 | Form
6 |
7 | ***
8 |
9 | ## Description
10 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
11 |
12 | ## Creating a Form
13 |
14 | ##### instructions
15 |
16 | To build a new Form you simply create a new object of the type *Form*. As input parameters
17 |
18 | ```
19 | myForm = new Form();
20 | ```
21 |
22 |
23 | @@include(form_p.md)
--------------------------------------------------------------------------------
/src/elements/Button/Button.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
11 |
14 |
17 |
20 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/vertical-horizontal-list/App.coffee:
--------------------------------------------------------------------------------
1 | class App
2 |
3 | bodyHorizontalList = new CUI.HorizontalList
4 | content: [
5 | new CUI.Label
6 | centered: true
7 | text: "Label #1"
8 | ,
9 | new CUI.Label
10 | centered: true
11 | text: "Label #2"
12 | ,
13 | new CUI.Label
14 | centered: true
15 | text: "Label #3"
16 | ]
17 |
18 | bodyVerticalList = new CUI.VerticalList
19 | content: [
20 | new CUI.Label
21 | centered: true
22 | text: "Label #1"
23 | ,
24 | new CUI.Label
25 | centered: true
26 | text: "Label #2"
27 | ,
28 | new CUI.Label
29 | centered: true
30 | text: "Label #3"
31 | ]
32 |
33 | CUI.dom.append(document.body, bodyHorizontalList)
34 | CUI.dom.append(document.body, bodyVerticalList)
35 |
36 | CUI.ready ->
37 | new App()
--------------------------------------------------------------------------------
/src/base/Events/TouchEvent.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.TouchEvent extends CUI.MouseEvent
9 | initOpts: ->
10 | super()
11 | @addOpts
12 | button:
13 | check: (v) ->
14 | v >= 0
15 | pageX:
16 | check: (v) ->
17 | v > 0
18 | pageY:
19 | check: (v) ->
20 | v > 0
21 | clientX:
22 | check: (v) ->
23 | v > 0
24 | clientY:
25 | check: (v) ->
26 | v > 0
27 |
28 | setNativeEvent: (ev) ->
29 | for k in [
30 | "button"
31 | "pageX"
32 | "pageY"
33 | "clientX"
34 | "clientY"
35 | ]
36 | prop = "_"+k
37 | if @hasOwnProperty(prop)
38 | ev[k] = @[prop]
39 |
40 | super(ev)
--------------------------------------------------------------------------------
/docs/elements/documentbrowser/documentbrowser/documentbrowser_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter DocumentBrowser
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | marked_opts | <Object> = PlainObject *Must not contain "image" or "link" as key.* | {} | true | Lorem |
6 | | url | (v) -> !!CUI.parseLocation(v) ?? | - | no | Lorem |
7 |
8 |
9 | ## Callbacks DocumentBrowser
10 | | Parameter | Format | Default | Mandatory | Description |
11 | | gotoLocation | function() | (nodePath, search, nodeIdx) => @loadLocation(nodePath, search, nodeIdx) | no | Lorem |
12 | | getMarkdown | function() | (v) -> v | no | Lorem |
13 | | renderHref | function() | default: (href, nodePath) => href | no | Lorem |
14 | ```
15 |
16 | @@include(../../../core/element/element_p.md)
--------------------------------------------------------------------------------
/docs/elements/form/formbutton/formbutton_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter FormButton
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | icon | Instance of <Object> = Icon<String> | - | no | Lorem |
6 | | appearance | <String> = "auto" | "link" | "flat" | "normal" | "important" | "auto" | yes | Describes the button's visual appearance. `auto` The button is automatically formatted. `link` Standard button without border and a underlined text. `flat` Button has no border and inherits its background color from its parent div. `normal` Standard button with border and its own background color. `important` emphasized button to show the user that the button is important. |
7 | ```
8 |
9 | @@include(../../checkbox/checkbox_p.md)
--------------------------------------------------------------------------------
/src/elements/FormButton/FormButton.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.FormButton extends CUI.Checkbox
9 |
10 | constructor: (opts) ->
11 | super(opts)
12 |
13 | getButtonOpts: ->
14 | opts = icon: @_icon
15 | for k in ["appearance"]
16 | opts[k] = @["_"+k]
17 | opts
18 |
19 | render: ->
20 | super()
21 | @__checkbox.addClass("cui-button-button")
22 | return
23 |
24 | getCheckboxClass: ->
25 | "cui-button-form-button"
26 |
27 | initOpts: ->
28 | super()
29 | @addOpts
30 | icon:
31 | check: (v) ->
32 | v instanceof CUI.Icon or CUI.util.isString(v)
33 | appearance:
34 | check: ["link","flat","normal","important"]
35 |
--------------------------------------------------------------------------------
/src/scss/icons/asset-failed.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/docs/elements/examples/examples.md:
--------------------------------------------------------------------------------
1 | ```coffeescript
2 | ```
3 |
4 | Note that this is a nesting of many different CUI-elements and data structures. For more information regarding their constructions and parameters, please see the corresponding documentation articles.
5 |
6 | The list below shows the nested elements and their relations to each other (in relation to the example in this step):
7 |
8 | Header:
9 | Menu
10 | ItemList
11 | Button
12 | ButtonHref
13 | Label
--------------------------------------------------------------------------------
/docs/elements/fileupload/fileuploadfile/fileuploadfile_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter FileUploadFile
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | file | Instance of <Object> = File | - | yes | Lorem |
6 | | fileUpload | <Object> = FileUpload | - | yes | Lorem |
7 | | batch | <Integer> >= 0 | - | no | Lorem |
8 |
9 |
10 | ## Callbacks FileUploadFile
11 | | Parameter | Format | Default | Mandatory | Description |
12 | | --- | --- | :---: | :---: | --- |
13 | | onRemove | function() | - | no | Lorem |
14 | | onDequeue | function() | - | no | Lorem |
15 | | onBeforeDone | function() | - | no | Callback which can be used to let the file reject or resolve. |
16 | ```
17 |
18 | @@include(../../../core/element/element_p.md)
--------------------------------------------------------------------------------
/src/elements/Console/Console.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.Console extends CUI.DOMElement
9 | constructor: (opts) ->
10 | super(opts)
11 | @__console = CUI.dom.element("DIV", class: "cui-console")
12 | @registerDOMElement(@__console)
13 |
14 | initOpts: ->
15 | super()
16 | @addOpts
17 | markdown:
18 | mandatory: true
19 | default: true
20 | check: Boolean
21 |
22 | clear: ->
23 | @__console.innerHTML = ""
24 |
25 | log: (txt, markdown = @_markdown) ->
26 | lbl = new CUI.defaults.class.Label(text: txt, multiline: true, markdown: markdown)
27 | @__console.appendChild(lbl.DOM)
28 | @__console.scrollTop = @__console.scrollHeight
29 |
--------------------------------------------------------------------------------
/doc/extra_list.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Coffeescript-UI Documentation
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Classes
16 |
17 |
18 | Files
19 |
20 |
21 | Methods
22 |
23 |
24 |
25 | Search:
26 |
27 |
28 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/doc/mixin_list.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Coffeescript-UI Documentation
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Classes
16 |
17 |
18 | Files
19 |
20 |
21 | Methods
22 |
23 |
24 |
25 | Search:
26 |
27 |
28 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/elements/Popover/Popover.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.Popover extends CUI.Modal
9 |
10 | initOpts: ->
11 | super()
12 | @mergeOpt "placement",
13 | default: null
14 |
15 | @mergeOpt "pointer",
16 | default: "arrow"
17 |
18 | readOpts: ->
19 |
20 | super()
21 |
22 | if not @opts.backdrop?.policy
23 | @_backdrop.policy = "click-thru"
24 |
25 | knownPlacements: ["s", "e", "w", "ws", "wn", "n", "se", "ne", "es", "en", "nw", "sw"]
26 |
27 | forceFocusOnShow: ->
28 | false
29 |
30 | # disableAllButtons: ->
31 | # super()
32 | # @disableBackdropClick()
33 |
34 | # enableAllButtons: ->
35 | # super()
36 | # @enableBackdropClick()
37 |
--------------------------------------------------------------------------------
/src/scss/icons/table.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | table
6 | Created with Sketch.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/elements/ConfirmationChoice/Spinner.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.Spinner extends CUI.Toaster
9 | initOpts: ->
10 | super()
11 | @mergeOpt "text_icon",
12 | default: "spinner"
13 | @mergeOpt "show_ms",
14 | default: 0
15 | @mergeOpt "backdrop",
16 | default:
17 | policy: "modal"
18 |
19 | open: ->
20 | # super sets a deferred
21 | super()
22 | if @_show_ms > 0
23 | CUI.setTimeout
24 | ms: @_show_ms
25 | call: =>
26 | @hide()
27 | @__deferred.resolve()
28 | return @__deferred.promise()
29 |
30 | CUI.spinner = (opts=text: "CUI.spinner") ->
31 | spinner = new CUI.Spinner(opts)
32 | spinner.open()
33 | spinner
34 |
35 |
--------------------------------------------------------------------------------
/docs/elements/form/form/form_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Form
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | fields | FunctionArray | - | yes | Lorem |
6 | | class_table | String | - | no | Lorem |
7 | | header | Array | - | no | Lorem |
8 | | horizontal | true All fields are horizontal false Not all fields are horizontal int Nuber of horizontal fields | false | no | Lorem |
9 | | appearance | normalseparators | normal | yes | Lorem |
10 | | maximize | true false | - | no | Lorem |
11 | | maximize_horizontal | true false | - | no | Lorem |
12 | | maximize_vertical | true false | - | no | Lorem |
13 | | top | | | no | Lorem |
14 | | bottom | | | no | Lorem |
15 |
16 | ```
17 |
18 | @@include(../../datafield/datafield_p.md)
19 |
--------------------------------------------------------------------------------
/src/scss/icons/multiple.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | multiple
6 | Created with Sketch.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/docs/elements/datafield/datafield.md:
--------------------------------------------------------------------------------
1 | # DataField
2 |
3 | DOM
4 | Datafield
5 |
6 | ***
7 |
8 | ## Description
9 | Lorem Ipsum
10 |
11 | ## Creating a DataField
12 |
13 | ##### instructions
14 |
15 | 1.
16 | To build a new button you simply create a new object of the type *Button*.
17 | ```coffeescript
18 | myDatafield = new DataField
19 |
20 | ```
21 | 2.
22 | In order to put data as an array into a -element you would take this structure:
23 | ```coffeescript
24 | myDataField = new DataField
25 | data:
26 | myData: []
27 | ```
28 | Take into account that the data-parameter's value requires an object with at least one key which stores an array as its value.
29 |
30 |
31 |
32 | @@include(datafield_p.md)
33 |
--------------------------------------------------------------------------------
/docs/elements/listview/listviewrow/listviewrow.md:
--------------------------------------------------------------------------------
1 | # ListviewRow
2 |
3 | CUI-Element
4 | ListviewRow
5 |
6 | ***
7 |
8 | ## Description
9 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est dolor sit amet.
10 |
11 | ## Creating a ListviewRow
12 |
13 | ##### instructions
14 |
15 | 1. To build a new ListviewRow you simply create a new object of the type *ListviewRow*.
16 | ```coffeescript
17 | myListviewRow = new ListviewRow
18 |
19 | ```
20 | 2.
21 | a
22 |
23 |
24 |
25 | @@include(listviewrow_p.md)
--------------------------------------------------------------------------------
/src/scss/themes/fylr/components/_digi-display.scss:
--------------------------------------------------------------------------------
1 | @use '../variables' as *;
2 |
3 | // * DigiDisplay
4 |
5 | /*
6 |
7 |
8 |
0
9 | ...
10 |
11 | :
12 |
13 |
14 |
15 | */
16 |
17 | .cui-digi-display {
18 | align-self: flex-start;
19 | display: flex;
20 |
21 | > div {
22 | vertical-align: bottom;
23 | height: 20px;
24 | text-align: center;
25 | overflow: hidden;
26 | padding: 1px;
27 | font-family: $digi-display-font-family;
28 | font-size: $digi-display-font-size;
29 | line-height: $digi-display-line-height;
30 | }
31 |
32 | .cui-digi-display-digit {
33 | transition: margin-top 0.3s ease;
34 | height: 18px;
35 | }
36 |
37 | .cui-digi-display-static {
38 | height: 20px;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/docs/elements/tabs/tab/tab_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Tab
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | name | <String> | - | no | Lorem |
7 | | text | <String> | - | yes | Lorem |
8 | | content | <String>inContent | check: (v) -> | yes | Lorem |
9 | | content_placeholder | isContent | - | no | Lorem |
10 | | load_on_show | <Boolean> | - | no | true false |
11 |
12 |
13 | ## Callbacks Tab
14 |
15 | | Callback | Format | Default | Mandatory | Description |
16 | | --- | --- | :---: | :---: | --- |
17 | | onFirstActivate | function() | - | no | Lorem |
18 | | onActivate | function() | - | no | Lorem |
19 | | onDeactivate | function() | - | no | Lorem |
20 | ```
21 |
22 | @@include(../../../core/dom/dom_p.md)
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/scss/themes/fylr/resets/_reset.scss:
--------------------------------------------------------------------------------
1 | // Project specific resets
2 |
3 | *,
4 | *::before,
5 | *::after {
6 | box-sizing: border-box;
7 | margin: 0;
8 | padding: 0;
9 | }
10 |
11 | a {
12 | text-decoration: none;
13 | color: inherit;
14 | cursor: pointer;
15 | }
16 |
17 | button {
18 | background-color: transparent;
19 | color: inherit;
20 | border-width: 0;
21 | cursor: pointer;
22 | }
23 |
24 | input::-moz-focus-inner {
25 | border: 0;
26 | }
27 |
28 | ul, ol, dd {
29 | list-style: none;
30 | }
31 |
32 | h1, h2, h3, h4, h5, h6 {
33 | font-size: inherit;
34 | font-weight: inherit;
35 | }
36 |
37 | cite {
38 | font-style: normal;
39 | }
40 |
41 | fieldset {
42 | border-width: 0;
43 | }
44 |
45 | table {
46 | border-collapse: collapse;
47 | }
48 |
49 | td {
50 | vertical-align: top;
51 | }
52 |
53 | img {
54 | max-width: 100%;
55 | height: auto;
56 | }
57 |
58 | ::-ms-clear {
59 | display: none;
60 | }
61 |
--------------------------------------------------------------------------------
/demo/src/demos/DataTableDemo.coffee:
--------------------------------------------------------------------------------
1 | class Demo.DataTableDemo extends Demo
2 | display: ->
3 | data =
4 | rowsH: [{}]
5 |
6 | fieldsH = [
7 | type: CUI.Input
8 | name: "input"
9 | ,
10 | type: CUI.Checkbox
11 | name: "boolean"
12 | ,
13 | type: CUI.DateTime
14 | name: "datetime"
15 | ,
16 | type: CUI.DataTable
17 | name: "datatable"
18 | rowMove: true
19 | form:
20 | label: "inner data"
21 | fields: [
22 | type: CUI.Input
23 | name: "input"
24 | ,
25 | type: CUI.Checkbox
26 | name: "boolean"
27 | ,
28 | type: CUI.DateTime
29 | name: "datetime"
30 | ]
31 | ]
32 |
33 | dtH = new CUI.DataTable
34 | fields: fieldsH
35 | name: "rowsH"
36 | data: data
37 | new_rows: "append"
38 | onDataChanged: (data) =>
39 | ; # @log(CUI.util.dump(data.rowsH))
40 |
41 | [
42 | dtH.start()
43 | ]
44 |
45 |
46 | Demo.register(new Demo.DataTableDemo())
--------------------------------------------------------------------------------
/src/scss/icons/folder.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | folder
6 | Created with Sketch.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/docs/elements/listview/listviewtree/listviewtree_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ListViewTree
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | rowMoveWithinNodesOnly | <Boolean> | - | no | true false |
7 | | children | <Array> | - | no | Lorem |
8 | | selectable | <Boolean> | - | no | true false |
9 | | no_hierarchy | <Boolean> | false | no | true dont display a tree hierarchy |
10 | | root | instanceof ListViewRow | - | no | Lorem |
11 |
12 |
13 | ## Callbacks ListViewTree
14 |
15 | | Callback | Format | Default | Mandatory | Description |
16 | | --- | --- | :---: | :---: | --- |
17 | | onOpen | function() | - | no | Lorem |
18 | | onClose | function() | - | no | Lorem |
19 | ```
20 |
21 | @@include(../listview/listview_p.md)
--------------------------------------------------------------------------------
/docs/elements/listview/listviewcolumn/listviewcolumn.md:
--------------------------------------------------------------------------------
1 | # ListviewColumn
2 |
3 | CUI-Element
4 | ListViewColumn
5 |
6 | ***
7 |
8 | ## Description
9 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est dolor sit amet.
10 |
11 | ## Creating a ListviewColumn
12 |
13 | ##### instructions
14 |
15 | 1. To build a new ListviewColumn you simply create a new object of the type *ListviewColumn*.
16 | ```coffeescript
17 | myListviewColumn = new ListviewColumn
18 |
19 | ```
20 | 2.
21 | a
22 |
23 |
24 |
25 |
26 | @@include(listviewcolumn_p.md)
--------------------------------------------------------------------------------
/src/scss/icons/fullscreen-expand.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/scss/icons/fullscreen-compress.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/scss/icons/inherit.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
9 |
11 |
12 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/base/Deferred/Promise.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 |
9 | class CUI.Promise
10 | constructor: (@__deferred) ->
11 | CUI.util.assert(@__deferred instanceof CUI.Deferred,"new Promise","parameter needs to be instanceof CUI.Deferred", parameter: @__deferred)
12 |
13 | done: ->
14 | @__deferred.done.apply(@__deferred, arguments)
15 | @
16 |
17 | fail: ->
18 | @__deferred.fail.apply(@__deferred, arguments)
19 | @
20 |
21 | always: ->
22 | @__deferred.always.apply(@__deferred, arguments)
23 | @
24 |
25 | progress: ->
26 | @__deferred.progress.apply(@__deferred, arguments)
27 | @
28 |
29 | state: ->
30 | @__deferred.state.apply(@__deferred, arguments)
31 |
32 | getUniqueId: ->
33 | @__deferred.getUniqueId()
34 |
35 |
--------------------------------------------------------------------------------
/demo/src/icons/inherit.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
10 |
11 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tutorial/src/modules/weather/Weather.coffee:
--------------------------------------------------------------------------------
1 | #CUI = require("coffeescript-ui/public/cui.js")
2 | WeatherService = require('./WeatherService.coffee')
3 | htmlTemplate = require('./weather.html')
4 | CUI.Template.loadTemplateText(htmlTemplate)
5 |
6 |
7 | class Weather extends CUI.Element
8 |
9 | initOpts: ->
10 | super()
11 | @addOpts
12 | city:
13 | mandatory: true
14 | check: String
15 |
16 | render: ->
17 | template = new CUI.Template
18 | name: "weather"
19 | map:
20 | temperature: true
21 | skytext: true
22 | humidity: true
23 |
24 | waitBlock = new CUI.WaitBlock(element: template)
25 | waitBlock.show()
26 |
27 | WeatherService.getWeather(@_city)
28 | .always =>
29 | waitBlock.destroy()
30 | .done((data) =>
31 | for key of template.map
32 | template.append(data[key], key)
33 | )
34 |
35 | template
36 |
37 | module.exports = Weather
--------------------------------------------------------------------------------
/docs/elements/menu.cms:
--------------------------------------------------------------------------------
1 | block=Block
2 | borderlayout=BorderLayout
3 | button=Button
4 | buttonhref=ButtonHref
5 | checkbox=Checkbox
6 | confirmationchoice=ConfirmationChoice
7 | confirmationdialog=ConfirmationDialog
8 | console=Console
9 | datafield=DataField
10 | datafieldinput=DataFieldInput
11 | datatable=DataTable
12 | datetime=DateTime
13 | digidisplay=DigiDisplay
14 | documentbrowser=DocumentBrowser
15 | form=Form
16 | horizontallist=HorizontalList
17 | icon=Icon
18 | input=Input
19 | label=Label
20 | layer=Layer
21 | layerpane=LayerPane
22 | layout=Layout
23 | listview=ListView
24 | menu=Menu
25 | modal=Modal
26 | multiinput=MultiInput
27 | multioutput=MultiOutput
28 | objectdumper=ObjectDumper
29 | output=Output
30 | pane=Pane
31 | password=Password
32 | popover=Popover
33 | progressmeter=ProgressMeter
34 | select=Select
35 | stickyheader=StickyHeader
36 | tabs=Tabs
37 | toolbar=Toolbar
38 | tooltip=Tooltip
39 | verticallist=VerticalList
40 | waitblock=WaitBlock
41 | examples=Examples
42 |
--------------------------------------------------------------------------------
/docs/elements/confirmationdialog/confirmationdialog_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ConfirmationDialog
3 | | Parameter | Format | Default | Mandatory | Description |
4 | | --- | --- | :---: | :---: | --- |
5 | | title | <String> | - | no | Defines the ConfirmationDialog's title |
6 | | text | <String> | - | no | Defines the ConfirmationDialog's text |
7 | | markdown | <Boolean> | false | no | true false |
8 | | html | <String> | - | no | Lorem |
9 | | content | isContent<DOM> | - | no | Lorem |
10 | | icon | <Object> = Icon<String> | - | no | Icon-Element Name of Icon as String |
11 | | buttons | <Array> = lenght > 0function() | - | no | Lorem |
12 | | footer_left | {} | - | no | Lorem |
13 | | footer_right | {} | - | no | Lorem |
14 | | pane | | | | |
15 | ```
16 |
17 | @@include(../modal/modal_p.md)
18 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/horizontal-layout/App.js:
--------------------------------------------------------------------------------
1 | // Generated by CoffeeScript 1.10.0
2 | (function() {
3 | var App;
4 |
5 | App = (function() {
6 | function App() {
7 | var body;
8 | body = new CUI.HorizontalLayout({
9 | left: {
10 | content: new CUI.Label({
11 | centered: true,
12 | text: "Left !!"
13 | })
14 | },
15 | center: {
16 | content: new CUI.Label({
17 | centered: true,
18 | size: "big",
19 | text: "Hello world!",
20 | icon: "fa-building"
21 | })
22 | },
23 | right: {
24 | content: new CUI.Label({
25 | centered: true,
26 | text: "Right"
27 | })
28 | }
29 | });
30 | CUI.dom.append(document.body, body);
31 | }
32 |
33 | return App;
34 |
35 | })();
36 |
37 | CUI.ready(function() {
38 | return new App();
39 | });
40 |
41 | }).call(this);
42 |
--------------------------------------------------------------------------------
/docs/elements/layout/verticallayout/verticallayout.md:
--------------------------------------------------------------------------------
1 | # VerticalLayout
2 |
3 | DOM
4 | Layout
5 | VerticalLayout
6 |
7 | ***
8 |
9 | ## Description
10 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est dolor sit amet.
11 |
12 | ## Creating a VerticalLayout
13 |
14 | ##### instructions
15 |
16 | 1. To build a new VerticalLayout you simply create a new object of the type *VerticalLayout*.
17 | ```coffeescript
18 | myVerticalLayout = new VerticalLayout
19 |
20 | ```
21 | 2.
22 | a
23 |
24 |
25 |
26 |
27 |
28 | @@include(verticallayout_p.md)
--------------------------------------------------------------------------------
/src/elements/BorderLayout/BorderLayout.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 | CUI.Template.loadTemplateText(require('./BorderLayout.html'));
8 |
9 | class CUI.BorderLayout extends CUI.Layout
10 |
11 | getName: ->
12 | "border-layout"
13 |
14 | getPanes: ->
15 | ["north", "west", "east", "south"]
16 |
17 | getSupportedPanes: ->
18 | @getPanes()
19 |
20 | getTemplateMap: ->
21 | map = super()
22 | map.row = true
23 | map
24 |
25 | __init: ->
26 | super()
27 |
28 | if @_absolute
29 | CUI.dom.addClass(@getLayout().map.row, "cui-absolute")
30 | # we need listen to viewport resize
31 | CUI.Events.listen
32 | type: "viewport-resize"
33 | node: @getLayout().map.row
34 | call: (ev) =>
35 | ev.stopPropagation()
36 | CUI.Layout.setAbsolute(@getLayout().map.row)
37 |
38 | @
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/vertical-layout/App.js:
--------------------------------------------------------------------------------
1 | // Generated by CoffeeScript 1.10.0
2 | (function() {
3 | var App;
4 |
5 | App = (function() {
6 | function App() {
7 | var body;
8 | body = new CUI.VerticalLayout({
9 | top: {
10 | content: new CUI.Label({
11 | centered: true,
12 | text: "I'm a header"
13 | })
14 | },
15 | center: {
16 | content: new CUI.Label({
17 | centered: true,
18 | size: "big",
19 | text: "Hello world!",
20 | icon: "fa-building"
21 | })
22 | },
23 | bottom: {
24 | content: new CUI.Label({
25 | centered: true,
26 | text: "This is the bottom"
27 | })
28 | }
29 | });
30 | CUI.dom.append(document.body, body);
31 | }
32 |
33 | return App;
34 |
35 | })();
36 |
37 | CUI.ready(function() {
38 | return new App();
39 | });
40 |
41 | }).call(this);
42 |
--------------------------------------------------------------------------------
/demo/src/demos/ScrollIntoViewDemo/ScrollIntoViewDemo.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
30 |
--------------------------------------------------------------------------------
/src/elements/Password/Password.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.Password extends CUI.Input
9 |
10 | initOpts: ->
11 | super()
12 | @addOpts
13 | toggleButton:
14 | default: false
15 | check: Boolean
16 |
17 | readOpts: ->
18 | super()
19 | if @_toggleButton
20 | @_controlElement = new CUI.Button
21 | icon: "fa-eye"
22 | onClick: (ev, btn) =>
23 | if CUI.dom.getAttribute(@__input, "type") == "password"
24 | btn.setIcon("fa-eye-slash")
25 | @showPassword()
26 | else
27 | btn.setIcon("fa-eye")
28 | @hidePassword()
29 |
30 | __createElement: ->
31 | super("password")
32 |
33 | showPassword: ->
34 | CUI.dom.setAttribute(@__input, "type", "text")
35 |
36 | hidePassword: ->
37 | CUI.dom.setAttribute(@__input, "type", "password")
38 |
--------------------------------------------------------------------------------
/demo/src/demos/DigiDisplayDemo.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | moment = require('moment')
9 |
10 | class Demo.DigiDisplayDemo extends Demo
11 | getGroup: ->
12 | "Extra"
13 |
14 | display: ->
15 | dd = new CUI.DigiDisplay
16 | digits: [
17 | mask: "[0-9]"
18 | ,
19 | mask: "[0-9]"
20 | ,
21 | static: ":"
22 | ,
23 | mask: "[0-9]"
24 | ,
25 | mask: "[0-9]"
26 | ,
27 | static: ":"
28 | ,
29 | mask: "[0-9]"
30 | ,
31 | mask: "[0-9]"
32 | ]
33 |
34 | @__digiInterval = CUI.setInterval ->
35 | dd.display(moment().format("HH:mm:ss"))
36 | ,
37 | 1000
38 |
39 | [
40 | Demo.dividerLabel("digi time")
41 | ,
42 | dd
43 | ]
44 |
45 | undisplay: ->
46 | CUI.clearInterval(@__digiInterval)
47 |
48 | Demo.register(new Demo.DigiDisplayDemo())
--------------------------------------------------------------------------------
/docs/elements/layout/horizontallayout/horizontallayout.md:
--------------------------------------------------------------------------------
1 | # HorizontalLayout
2 |
3 | DOM
4 | Layout
5 | HorizontalLayout
6 |
7 | ***
8 |
9 | ## Description
10 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est dolor sit amet.
11 |
12 | ## Creating a HorizontalLayout
13 |
14 | ##### instructions
15 |
16 | 1. To build a new HorizontalLayout you simply create a new object of the type *HorizontalLayout*.
17 | ```coffeescript
18 | myHorizontalLayout = new HorizontalLayout
19 |
20 | ```
21 | 2.
22 | a
23 |
24 |
25 |
26 |
27 | @@include(horizontallayout_p.md)
--------------------------------------------------------------------------------
/src/scss/icons/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/docs/elements/label/label/label_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter Label
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | text | StringInteger | - | no | Lorem |
7 | | content | Content ? String | - | no | Lorem |
8 | | icon | Icon Instance of Icon String | - | no | Lorem |
9 | | size | automininormalbigbigger | auto | yes | Lorem |
10 | | markdown | true Text is markdown false Text ist not markdown | false | yes | Lorem |
11 | | appearance | autonormalimportanttitle | auto | yes | Lorem |
12 | | tooltip | PlainObject | - | no | Lorem |
13 | | rotate_90 | true false | false | no | Lorem |
14 | | centered | true false | false | no | Lorem |
15 | | multiline | true false | false | no | Lorem |
16 | | manage_overflow | true false PlainObject | - | no | |
17 | ```
18 |
19 | @@include(../../../core/dom/dom_p.md)
--------------------------------------------------------------------------------
/src/elements/FileUpload/FileReader.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.FileReader extends CUI.FileUpload
9 | initOpts: ->
10 | super()
11 | @removeOpt("url")
12 |
13 | readOpts: ->
14 | CUI.Element::readOpts.call(@)
15 |
16 | getUploadFileClass: ->
17 | CUI.FileReaderFile
18 |
19 | uploadFile: (file) ->
20 | file.upload(file)
21 |
22 | @save: (filename, data, type = "text/csv") ->
23 | blob = new Blob([data], type: type)
24 | if (window.navigator.msSaveOrOpenBlob)
25 | window.navigator.msSaveBlob(blob, filename)
26 | else
27 | elem = window.document.createElement('a')
28 | elem.href = window.URL.createObjectURL(blob)
29 | elem.download = filename
30 | document.body.appendChild(elem);
31 | elem.click();
32 | document.body.removeChild(elem);
33 | window.URL.revokeObjectURL(blob)
34 |
--------------------------------------------------------------------------------
/src/tests/Test.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.Test
9 | constructor: ->
10 |
11 | run: ->
12 | @idx = 0
13 |
14 | eq: (a, b) ->
15 | if JSON.stringify(a) == JSON.stringify(b)
16 | console.info("Test passed: eq: ", a, b)
17 | return true
18 | console.error("Test failed: eq: ", a, b, @test_func.toString())
19 |
20 | test: (@test_func) ->
21 | # console.info CUI.util.getObjectClass(@)+"##{@idx}", f.toString()
22 | @test_func()
23 | @idx++
24 |
25 | @tests: []
26 |
27 | @register: (test) ->
28 | CUI.util.assert(test instanceof Test, "Test.register", "Test needs to be instance of Test", test: test)
29 | test.idx = @tests.length
30 | @tests.push(test)
31 |
32 | @run: ->
33 | for test in @tests
34 | console.info("Running Test", CUI.util.getObjectClass(test))
35 | test.run()
36 | return
37 |
--------------------------------------------------------------------------------
/docs/elements/listview/listviewtreenode/listviewtreenode.md:
--------------------------------------------------------------------------------
1 | # ListviewTreeNode
2 |
3 | CUI-Element
4 | ListViewRow
5 | ListviewTreeNode
6 |
7 | ***
8 |
9 | ## Description
10 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est dolor sit amet.
11 |
12 | ## Creating a ListviewTreeNode
13 |
14 | ##### instructions
15 |
16 | 1. To build a new ListviewTreeNode you simply create a new object of the type *ListviewTreeNode*.
17 | ```coffeescript
18 | myListviewTreeNode = new ListviewTreeNode
19 |
20 | ```
21 | 2.
22 | a
23 |
24 |
25 |
26 | @@include(listviewtreenode_p.md)
--------------------------------------------------------------------------------
/docs/elements/progressmeter/progressmeter_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter ProgressMeter
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | states | <Array> | - | no | Lorem |
7 | | state | (v) => @__checkState(v) | - | no | Lorem |
8 | | css_property_percent | <String> | "width" | no | CSS-property to set to the current percent fill, filler will be hidden, if percent is null. |
9 | | size | <String> = "auto" | "mini" | "normal" | "big" | "auto" | yes | Lorem |
10 | | appearance | <String> = "auto" | "normal" | "important" | "auto" | yes | Lorem |
11 |
12 |
13 | ## Callbacks ProgressMeter
14 |
15 | | Callback | Format | Default | Mandatory | Description |
16 | | --- | --- | :---: | :---: | --- |
17 | | onUpdate | function() | - | no | Lorem |
18 | ```
19 |
20 | @@include(../../core/dom/dom_p.md)
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/pane/App.coffee:
--------------------------------------------------------------------------------
1 | class App
2 | constructor: ->
3 |
4 | pane = new CUI.SimplePane
5 | padded: true
6 | content: new CUI.Label
7 | text: "Content"
8 | header_left: new CUI.Label
9 | text: "Header left"
10 | header_right: CUI.Pane.getToggleFillScreenButton()
11 | header_center: new CUI.Label
12 | text: "Header center"
13 | footer_left: new CUI.Label
14 | text: "Footer left"
15 | footer_right: new CUI.Label
16 | text: "Footer right"
17 | force_header: true
18 |
19 | body = new CUI.BorderLayout
20 | west:
21 | content: new CUI.Label
22 | centered: true
23 | text: "West"
24 | east:
25 | content: new CUI.Label
26 | centered: true
27 | text: "East"
28 | center:
29 | content: pane
30 | north:
31 | content: new CUI.Label
32 | centered: true
33 | text: "North"
34 | south:
35 | content: new CUI.Label
36 | centered: true
37 | text: "South"
38 |
39 | CUI.dom.append(document.body, body)
40 |
41 | CUI.ready ->
42 | new App()
--------------------------------------------------------------------------------
/demo/src/icons/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/scss/icons/remove-icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
9 |
10 |
12 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/demo/src/icons/remove-icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
9 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/elements/datetime/datetime.md:
--------------------------------------------------------------------------------
1 | # DateTime
2 |
3 | DOM
4 | DataField
5 | DataFieldInput
6 | Input
7 | DateTime
8 |
9 | ***
10 |
11 |
12 | ## Description
13 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
14 |
15 | ## Creating a DateTime
16 |
17 | ##### instructions
18 |
19 | To build a new DateTime you simply create a new object of the type *DateTime*. As input parameters
20 |
21 | ```
22 | myDateTime = new DateTime();
23 | ```
24 |
25 |
26 | @@include(datetime_p.md)
27 |
--------------------------------------------------------------------------------
/docs/elements/multiinput/multiinput/multiinput_p.md:
--------------------------------------------------------------------------------
1 | ```div-parameter
2 | ## Parameter MultiInput
3 |
4 | | Parameter | Format | Default | Mandatory | Description |
5 | | --- | --- | :---: | :---: | --- |
6 | | textarea | <Boolean> | false | no | true false |
7 | | spellcheck | <Boolean> | false | no | true false |
8 | | placeholder | <Object> = PlainObject | - | no | Lorem |
9 | | control | Instance of <Object> = MultiInputControl | - | yes | Lorem |
10 | | content_size | <Boolean> | default: false | no | true false |
11 |
12 |
13 | ## Callbacks MultiInput
14 |
15 | | Callback | Format | Default | Mandatory | Description |
16 | | --- | --- | :---: | :---: | --- |
17 | | onFocus | function() | - | no | Lorem |
18 | | onClick | function() | - | no | Lorem |
19 | | onKeyup | function() | - | no | Lorem |
20 | | onBlur | function() | - | no | Lorem |
21 | ```
22 |
23 | @@include(../../datafieldinput/datafieldinput_p.md)
24 |
--------------------------------------------------------------------------------
/src/elements/ListView/tools/ListViewColumnRowMoveHandle.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.ListViewColumnRowMoveHandle extends CUI.ListViewColumn
9 |
10 | setElement: (cell) ->
11 | super(cell)
12 |
13 | row = @getRow()
14 |
15 | if not row.isMovable()
16 | return
17 |
18 | moveTool = row.getListView().getRowMoveTool
19 | row: row
20 | element: cell
21 |
22 | if moveTool
23 | drag_handle = CUI.dom.children(moveTool.element)?[0]
24 |
25 | if CUI.ListView.defaults.row_move_handle_tooltip and drag_handle
26 | new CUI.Tooltip
27 | text: CUI.ListView.defaults.row_move_handle_tooltip
28 | element: drag_handle
29 |
30 | return
31 |
32 | render: ->
33 | ui = @getRow()?.getListView()?._ui
34 | return CUI.dom.element("DIV",
35 | class: "cui-drag-handle-row"
36 | ui: if ui then "#{ui}.drag.handle"
37 | )
38 |
39 |
--------------------------------------------------------------------------------
/src/scss/icons/easydb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | easydb
6 | Created with Sketch.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/custom-element/App.coffee:
--------------------------------------------------------------------------------
1 | # All classes are created in the same file to give it read simplicity, but it shouldn't be like this in a real application.
2 |
3 | class HelloWorld extends CUI.DOMElement
4 | constructor: (opts) ->
5 | super(opts)
6 |
7 | label = new CUI.Label(text: "Hello World!", centered: true)
8 | @registerDOMElement(label.DOM)
9 |
10 | class HelloWorldTemplate extends CUI.DOMElement
11 |
12 | constructor: (opts) ->
13 | super(opts)
14 |
15 | template = new CUI.Template
16 | name: "hello-world"
17 | map:
18 | title: true
19 |
20 | template.append("Hello world", "title")
21 |
22 | @registerTemplate(template)
23 |
24 | # Main class
25 | class App
26 | constructor: ->
27 |
28 | body = new CUI.VerticalLayout
29 | top:
30 | content: new HelloWorldTemplate()
31 | center:
32 | content: new HelloWorld()
33 |
34 | CUI.dom.append(document.body, body)
35 |
36 | CUI.ready ->
37 | # We need to load the templates first.
38 | CUI.Template.loadTemplateFile("hello-world.html").done( =>
39 | new App()
40 | )
--------------------------------------------------------------------------------
/tutorial/simple-examples/examples/modal/App.coffee:
--------------------------------------------------------------------------------
1 | class App
2 | constructor: ->
3 |
4 | modal = new CUI.Modal
5 | cancel: true
6 | fill_screen_button: true
7 | cancel_action: "hide"
8 | onToggleFillScreen: =>
9 | CUI.alert(text: "Fillscreen!")
10 | onCancel: =>
11 | CUI.alert(text: "Cancel!")
12 | pane:
13 | padded: true
14 | header_left: new CUI.Label
15 | text: "I'm the header"
16 | content: new CUI.Label
17 | icon: "fa-building"
18 | text: "Modal Content!"
19 | footer_right: [
20 | text: "Destroy!"
21 | onClick: =>
22 | modal.destroy()
23 | ]
24 |
25 | openModal = new CUI.Button
26 | text: "Open modal!"
27 | onClick: =>
28 | modal.show()
29 |
30 | body = new CUI.HorizontalLayout
31 | left:
32 | content: new CUI.Label
33 | centered: true
34 | text: "Left"
35 | center:
36 | content: openModal
37 | right:
38 | content: new CUI.Label
39 | centered: true
40 | text: "Right"
41 |
42 | CUI.dom.append(document.body, body)
43 |
44 | CUI.ready ->
45 | new App()
--------------------------------------------------------------------------------
/src/elements/ConfirmationChoice/Alert.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.Alert extends CUI.ConfirmationChoice
9 | initOpts: ->
10 | super()
11 | # @removeOpt("choices")
12 | # @mergeOpt("text", mandatory: true)
13 | @mergeOpt("choices", mandatory: false, default: undefined)
14 |
15 | @addOpts
16 | button_text_ok:
17 | mandatory: true
18 | default: CUI.defaults.class.ConfirmationChoice.defaults.ok
19 | check: String
20 |
21 | isKeyboardCancellable: (ev) ->
22 | return @_allow_cancel
23 |
24 | readOpts: ->
25 | super()
26 | if not @_choices
27 | @_choices = [
28 | text: @_button_text_ok
29 | primary: true
30 | ]
31 |
32 | CUI.alert = (opts=text: "CUI.alert") ->
33 | new CUI.Alert(opts).open()
34 |
35 | class CUI.AlertProblem extends CUI.Alert
36 |
37 | CUI.problem = (opts=text: "CUI.problem") ->
38 | new CUI.AlertProblem(opts).open()
39 |
--------------------------------------------------------------------------------
/src/elements/Output/OutputContent.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.OutputContent extends CUI.DataFieldInput
9 | initOpts: ->
10 | super()
11 | @addOpts
12 | placeholder:
13 | default: ""
14 | check: String
15 | content:
16 | check: (v) ->
17 | CUI.util.isElement(v) or CUI.util.isElement(v.DOM)
18 | getValue:
19 | check: Function
20 |
21 | setContent: (content=null) ->
22 | if not content
23 | CUI.dom.addClass(@DOM, "cui-output-empty")
24 | @empty()
25 | else
26 | CUI.dom.removeClass(@DOM, "cui-output-empty")
27 | @replace(content)
28 |
29 | displayValue: ->
30 | super()
31 | if @getName()
32 | @setContent(@getValue())
33 | @
34 |
35 | getValue: ->
36 | value = super()
37 | if @_getValue
38 | @_getValue.call(@, value, @)
39 | else
40 | value
41 |
42 | render: ->
43 | super()
44 | @setContent(@_content)
45 |
--------------------------------------------------------------------------------
/src/base/DragDropSelect/Dragscroll.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.Dragscroll extends CUI.Draggable
9 |
10 | initOpts: ->
11 | super()
12 | @removeOpt("helper")
13 | @addOpts
14 | scroll_element:
15 | check: (v) ->
16 | CUI.util.isElement(v)
17 |
18 | readOpts: ->
19 | super()
20 | if @_scroll_element
21 | @__scroll_element = @_scroll_element
22 | else
23 | @__scroll_element = @_element
24 |
25 | supportTouch: ->
26 | if @_support_touch != undefined
27 | super()
28 | else
29 | true
30 |
31 | start_drag: ->
32 | @__scroll =
33 | top: @__scroll_element.scrollTop
34 | left: @__scroll_element.scrollLeft
35 |
36 | do_drag: (ev, $target, diff) ->
37 | scrollTop = @__scroll.top - diff.bare_y
38 | scrollLeft = @__scroll.left - diff.bare_x
39 | @__scroll_element.scrollTop = scrollTop
40 | @__scroll_element.scrollLeft = scrollLeft
41 |
--------------------------------------------------------------------------------
/src/elements/ConfirmationChoice/Toaster.coffee:
--------------------------------------------------------------------------------
1 | ###
2 | * coffeescript-ui - Coffeescript User Interface System (CUI)
3 | * Copyright (c) 2013 - 2016 Programmfabrik GmbH
4 | * MIT Licence
5 | * https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
6 | ###
7 |
8 | class CUI.Toaster extends CUI.ConfirmationChoice
9 | initOpts: ->
10 | super()
11 | @removeOpt("choices")
12 | @mergeOpt "backdrop",
13 | default: false
14 | @mergeOpt "show_ms",
15 | check: (v) ->
16 | v >= 0
17 |
18 | readOpts: ->
19 | if @opts.show_ms == 0 and @opts.backdrop == undefined
20 | @opts.backdrop = policy: "modal"
21 |
22 | super()
23 |
24 | @_choices = []
25 |
26 | open: ->
27 | if @__deferred
28 | return @__deferred.promise()
29 |
30 | # super sets a deferred
31 | super()
32 |
33 | if @_show_ms > 0
34 | CUI.setTimeout
35 | ms: @_show_ms
36 | call: =>
37 | @hide()
38 | @__deferred.resolve()
39 | return @__deferred.promise()
40 |
41 | CUI.toaster = (opts = text: "CUI.toaster") ->
42 | toaster = new CUI.Toaster(opts)
43 | toaster.open()
44 | toaster
45 |
--------------------------------------------------------------------------------