├── .gitattributes ├── src ├── Editor │ ├── Code_Editors │ │ ├── Blockly_Editor │ │ │ ├── blockly_files_editors │ │ │ │ ├── css │ │ │ │ │ ├── data │ │ │ │ │ │ └── blockDatabase.json │ │ │ │ │ └── init.json │ │ │ │ └── html │ │ │ │ │ ├── data │ │ │ │ │ ├── toolbox.json │ │ │ │ │ └── blockPrototype.json │ │ │ │ │ ├── text │ │ │ │ │ ├── code_gen.js │ │ │ │ │ └── block_gen.js │ │ │ │ │ ├── init.json │ │ │ │ │ ├── attribute │ │ │ │ │ ├── code_gen.js │ │ │ │ │ └── block_gen.js │ │ │ │ │ └── tag │ │ │ │ │ ├── block_gen.js │ │ │ │ │ └── code_gen.js │ │ │ └── blockMaker.js │ │ ├── Json_Object_Editor │ │ │ └── JsonObjectEditor.scss │ │ ├── CKEditor4_Editor │ │ │ └── CKEditor4_Editor.jsx │ │ ├── CKEditor_Editor │ │ │ └── CKEditor_Editor.jsx │ │ ├── CodeMirror_Editor │ │ │ └── CodeMirror_Editor.tsx │ │ ├── MDE_Editor │ │ │ └── MDE_Editor.jsx │ │ └── Json_View │ │ │ └── Json_View.jsx │ └── CodeEditor.tsx ├── LayoutComponents │ ├── window.ts │ ├── projectSetup │ │ └── setup.tsx │ ├── Viewport │ │ ├── styles.ts │ │ └── theme.ts │ ├── Editor │ │ └── EditorWindow.tsx │ ├── apps │ │ ├── windows │ │ │ └── marketPlace.tsx │ │ ├── appStorage.ts │ │ └── launcher.tsx │ ├── Explorer │ │ └── actions │ │ │ ├── Delete.tsx │ │ │ ├── Rename.tsx │ │ │ └── Create.tsx │ └── webBrowser │ │ └── browser.tsx ├── states │ ├── index.ts │ └── services │ │ └── now.ts ├── Storage │ ├── fileutils.ts │ └── filesystems │ │ └── browserFS.ts ├── ConsoleApps │ ├── terminalComponents.ts │ ├── git.ts │ ├── actions │ │ └── ChangeLocation.tsx │ └── storage.js ├── APIS │ ├── git │ │ └── git.js │ └── now │ │ └── now.ts ├── UIComponents │ └── tabs.scss ├── index.ts ├── index.css ├── router.tsx └── react-app-env.d.ts ├── public ├── favicon.ico ├── media │ ├── editors │ │ ├── md.png │ │ ├── ckeditor4.png │ │ ├── ckeditor5.png │ │ ├── codemirror.png │ │ ├── grapesjs.png │ │ ├── jsonview.svg │ │ └── monaco.svg │ └── oauth │ │ ├── GitHub_Logo_White.png │ │ └── zeit-black-triangle.svg ├── code │ └── ckeditor4 │ │ ├── plugins │ │ ├── icons.png │ │ ├── icons_hidpi.png │ │ ├── link │ │ │ ├── images │ │ │ │ ├── anchor.png │ │ │ │ └── hidpi │ │ │ │ │ └── anchor.png │ │ │ └── dialogs │ │ │ │ └── anchor.js │ │ ├── smiley │ │ │ └── images │ │ │ │ ├── kiss.gif │ │ │ │ ├── kiss.png │ │ │ │ ├── heart.gif │ │ │ │ ├── heart.png │ │ │ │ ├── cry_smile.gif │ │ │ │ ├── cry_smile.png │ │ │ │ ├── envelope.gif │ │ │ │ ├── envelope.png │ │ │ │ ├── lightbulb.gif │ │ │ │ ├── lightbulb.png │ │ │ │ ├── omg_smile.gif │ │ │ │ ├── omg_smile.png │ │ │ │ ├── sad_smile.gif │ │ │ │ ├── sad_smile.png │ │ │ │ ├── thumbs_up.gif │ │ │ │ ├── thumbs_up.png │ │ │ │ ├── angel_smile.gif │ │ │ │ ├── angel_smile.png │ │ │ │ ├── angry_smile.gif │ │ │ │ ├── angry_smile.png │ │ │ │ ├── broken_heart.gif │ │ │ │ ├── broken_heart.png │ │ │ │ ├── devil_smile.gif │ │ │ │ ├── devil_smile.png │ │ │ │ ├── shades_smile.gif │ │ │ │ ├── shades_smile.png │ │ │ │ ├── teeth_smile.gif │ │ │ │ ├── teeth_smile.png │ │ │ │ ├── thumbs_down.gif │ │ │ │ ├── thumbs_down.png │ │ │ │ ├── tongue_smile.gif │ │ │ │ ├── tongue_smile.png │ │ │ │ ├── tounge_smile.gif │ │ │ │ ├── wink_smile.gif │ │ │ │ ├── wink_smile.png │ │ │ │ ├── confused_smile.gif │ │ │ │ ├── confused_smile.png │ │ │ │ ├── regular_smile.gif │ │ │ │ ├── regular_smile.png │ │ │ │ ├── embaressed_smile.gif │ │ │ │ ├── embarrassed_smile.gif │ │ │ │ ├── embarrassed_smile.png │ │ │ │ ├── whatchutalkingabout_smile.gif │ │ │ │ └── whatchutalkingabout_smile.png │ │ ├── image │ │ │ └── images │ │ │ │ └── noimage.png │ │ ├── magicline │ │ │ └── images │ │ │ │ ├── icon.png │ │ │ │ ├── icon-rtl.png │ │ │ │ └── hidpi │ │ │ │ ├── icon.png │ │ │ │ └── icon-rtl.png │ │ ├── widget │ │ │ └── images │ │ │ │ └── handle.png │ │ ├── youtube │ │ │ └── images │ │ │ │ ├── icon.png │ │ │ │ └── icon-hdpi.png │ │ ├── forms │ │ │ ├── images │ │ │ │ └── hiddenfield.gif │ │ │ └── dialogs │ │ │ │ ├── hiddenfield.js │ │ │ │ ├── button.js │ │ │ │ ├── form.js │ │ │ │ ├── textarea.js │ │ │ │ ├── radio.js │ │ │ │ └── checkbox.js │ │ ├── iframe │ │ │ ├── images │ │ │ │ └── placeholder.png │ │ │ └── dialogs │ │ │ │ └── iframe.js │ │ ├── pagebreak │ │ │ └── images │ │ │ │ └── pagebreak.gif │ │ ├── showblocks │ │ │ └── images │ │ │ │ ├── block_h1.png │ │ │ │ ├── block_h2.png │ │ │ │ ├── block_h3.png │ │ │ │ ├── block_h4.png │ │ │ │ ├── block_h5.png │ │ │ │ ├── block_h6.png │ │ │ │ ├── block_p.png │ │ │ │ ├── block_div.png │ │ │ │ ├── block_pre.png │ │ │ │ ├── block_address.png │ │ │ │ └── block_blockquote.png │ │ ├── about │ │ │ └── dialogs │ │ │ │ ├── logo_ckeditor.png │ │ │ │ ├── hidpi │ │ │ │ └── logo_ckeditor.png │ │ │ │ └── about.js │ │ ├── templates │ │ │ ├── templates │ │ │ │ ├── images │ │ │ │ │ ├── template1.gif │ │ │ │ │ ├── template2.gif │ │ │ │ │ └── template3.gif │ │ │ │ └── default.js │ │ │ └── dialogs │ │ │ │ ├── templates.css │ │ │ │ └── templates.js │ │ ├── dialog │ │ │ ├── dialogDefinition.js │ │ │ └── styles │ │ │ │ └── dialog.css │ │ ├── preview │ │ │ └── preview.html │ │ ├── pbckcode │ │ │ ├── dialogs │ │ │ │ ├── PBSyntaxHighlighter.js │ │ │ │ ├── style.css │ │ │ │ └── pbckcode.js │ │ │ └── CHANGELOG.md │ │ ├── specialchar │ │ │ └── dialogs │ │ │ │ └── lang │ │ │ │ ├── _translationstatus.txt │ │ │ │ ├── ja.js │ │ │ │ ├── zh.js │ │ │ │ ├── zh-cn.js │ │ │ │ ├── ko.js │ │ │ │ ├── az.js │ │ │ │ └── fr-ca.js │ │ ├── colordialog │ │ │ └── dialogs │ │ │ │ └── colordialog.css │ │ ├── a11yhelp │ │ │ └── dialogs │ │ │ │ ├── lang │ │ │ │ ├── _translationstatus.txt │ │ │ │ ├── zh-cn.js │ │ │ │ ├── zh.js │ │ │ │ └── ja.js │ │ │ │ └── a11yhelp.js │ │ ├── tableselection │ │ │ └── styles │ │ │ │ └── tableselection.css │ │ ├── copyformatting │ │ │ ├── styles │ │ │ │ └── copyformatting.css │ │ │ └── cursors │ │ │ │ └── cursor.svg │ │ ├── pastefromgdocs │ │ │ └── filter │ │ │ │ └── default.js │ │ └── liststyle │ │ │ └── dialogs │ │ │ └── liststyle.js │ │ ├── samples │ │ ├── img │ │ │ ├── logo.png │ │ │ ├── header-bg.png │ │ │ ├── github-top.png │ │ │ ├── navigation-tip.png │ │ │ └── header-separator.png │ │ ├── old │ │ │ ├── assets │ │ │ │ ├── sample.jpg │ │ │ │ ├── inlineall │ │ │ │ │ └── logo.png │ │ │ │ ├── uilanguages │ │ │ │ │ └── languages.js │ │ │ │ └── posteddata.php │ │ │ ├── htmlwriter │ │ │ │ └── assets │ │ │ │ │ └── outputforflash │ │ │ │ │ ├── outputforflash.fla │ │ │ │ │ └── outputforflash.swf │ │ │ ├── sample_posteddata.php │ │ │ ├── dialog │ │ │ │ └── assets │ │ │ │ │ └── my_dialog.js │ │ │ ├── sample.js │ │ │ ├── appendto.html │ │ │ ├── tabindex.html │ │ │ ├── uicolor.html │ │ │ └── ajax.html │ │ ├── toolbarconfigurator │ │ │ ├── font │ │ │ │ ├── fontello.eot │ │ │ │ ├── fontello.ttf │ │ │ │ ├── fontello.woff │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── config.json │ │ │ │ └── fontello.svg │ │ │ ├── lib │ │ │ │ └── codemirror │ │ │ │ │ ├── show-hint.css │ │ │ │ │ ├── neo.css │ │ │ │ │ └── LICENSE │ │ │ └── css │ │ │ │ └── fontello.css │ │ └── js │ │ │ └── sample.js │ │ ├── skins │ │ └── moono-lisa │ │ │ ├── icons.png │ │ │ ├── icons_hidpi.png │ │ │ ├── images │ │ │ ├── arrow.png │ │ │ ├── close.png │ │ │ ├── lock.png │ │ │ ├── refresh.png │ │ │ ├── spinner.gif │ │ │ ├── hidpi │ │ │ │ ├── lock.png │ │ │ │ ├── close.png │ │ │ │ ├── lock-open.png │ │ │ │ └── refresh.png │ │ │ └── lock-open.png │ │ │ └── readme.md │ │ ├── config.js │ │ ├── README.md │ │ └── adapters │ │ └── jquery.js ├── apps │ ├── netlify.html │ ├── messageTest.js │ └── messageTest.html └── index.html ├── config ├── jest │ ├── cssTransform.js │ └── fileTransform.js ├── pnpTs.js └── paths.js ├── tsconfig.json ├── .gitignore ├── LICENSE └── scripts └── test.js /.gitattributes: -------------------------------------------------------------------------------- 1 | * linguist-language=TypeScript -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/css/data/blockDatabase.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/media/editors/md.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/media/editors/md.png -------------------------------------------------------------------------------- /public/media/editors/ckeditor4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/media/editors/ckeditor4.png -------------------------------------------------------------------------------- /public/media/editors/ckeditor5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/media/editors/ckeditor5.png -------------------------------------------------------------------------------- /public/media/editors/codemirror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/media/editors/codemirror.png -------------------------------------------------------------------------------- /public/media/editors/grapesjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/media/editors/grapesjs.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/icons.png -------------------------------------------------------------------------------- /public/media/oauth/GitHub_Logo_White.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/media/oauth/GitHub_Logo_White.png -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/img/logo.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/icons_hidpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/icons_hidpi.png -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/img/header-bg.png -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/img/github-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/img/github-top.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/icons.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/link/images/anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/link/images/anchor.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/kiss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/kiss.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/kiss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/kiss.png -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/img/navigation-tip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/img/navigation-tip.png -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/assets/sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/old/assets/sample.jpg -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/image/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/image/images/noimage.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/magicline/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/magicline/images/icon.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/heart.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/heart.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/widget/images/handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/widget/images/handle.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/youtube/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/youtube/images/icon.png -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/img/header-separator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/img/header-separator.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/icons_hidpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/icons_hidpi.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/arrow.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/close.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/lock.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/cry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/cry_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/cry_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/cry_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/envelope.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/envelope.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/envelope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/envelope.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/lightbulb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/lightbulb.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/lightbulb.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/omg_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/omg_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/omg_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/omg_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/sad_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/sad_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/sad_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/sad_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/thumbs_up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/thumbs_up.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/thumbs_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/thumbs_up.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/refresh.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/spinner.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/forms/images/hiddenfield.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/forms/images/hiddenfield.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/iframe/images/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/iframe/images/placeholder.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/link/images/hidpi/anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/link/images/hidpi/anchor.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/magicline/images/icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/magicline/images/icon-rtl.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/pagebreak/images/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/pagebreak/images/pagebreak.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_h1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_h1.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_h2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_h2.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_h3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_h3.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_h4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_h4.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_h5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_h5.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_h6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_h6.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_p.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/angel_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/angel_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/angel_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/angel_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/angry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/angry_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/angry_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/angry_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/broken_heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/broken_heart.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/broken_heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/broken_heart.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/devil_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/devil_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/devil_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/devil_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/shades_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/shades_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/shades_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/shades_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/teeth_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/teeth_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/teeth_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/teeth_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/thumbs_down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/thumbs_down.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/thumbs_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/thumbs_down.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/tongue_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/tongue_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/tongue_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/tongue_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/tounge_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/tounge_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/wink_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/wink_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/wink_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/wink_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/youtube/images/icon-hdpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/youtube/images/icon-hdpi.png -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/assets/inlineall/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/old/assets/inlineall/logo.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/hidpi/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/hidpi/lock.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/lock-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/lock-open.png -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/css/init.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "css", 3 | "blocksDir": ["block", "parameters"], 4 | "dataDir": "data" 5 | } 6 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/about/dialogs/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/about/dialogs/logo_ckeditor.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/magicline/images/hidpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/magicline/images/hidpi/icon.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_div.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_pre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_pre.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/confused_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/confused_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/confused_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/confused_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/regular_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/regular_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/regular_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/regular_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/hidpi/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/hidpi/close.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/magicline/images/hidpi/icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/magicline/images/hidpi/icon-rtl.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_address.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/embaressed_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/embaressed_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/embarrassed_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/embarrassed_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/embarrassed_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/embarrassed_smile.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/hidpi/lock-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/hidpi/lock-open.png -------------------------------------------------------------------------------- /public/code/ckeditor4/skins/moono-lisa/images/hidpi/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/skins/moono-lisa/images/hidpi/refresh.png -------------------------------------------------------------------------------- /src/LayoutComponents/window.ts: -------------------------------------------------------------------------------- 1 | export interface WindowsState { 2 | document: string | null; 3 | } 4 | export interface WindowsProps { 5 | readonly document: string | null; 6 | } 7 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/about/dialogs/hidpi/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/about/dialogs/hidpi/logo_ckeditor.png -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/font/fontello.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/toolbarconfigurator/font/fontello.eot -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/font/fontello.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/toolbarconfigurator/font/fontello.ttf -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/showblocks/images/block_blockquote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/showblocks/images/block_blockquote.png -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/templates/templates/images/template1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/templates/templates/images/template1.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/templates/templates/images/template2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/templates/templates/images/template2.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/templates/templates/images/template3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/templates/templates/images/template3.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/font/fontello.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/toolbarconfigurator/font/fontello.woff -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/whatchutalkingabout_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/whatchutalkingabout_smile.gif -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/smiley/images/whatchutalkingabout_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/plugins/smiley/images/whatchutalkingabout_smile.png -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Json_Object_Editor/JsonObjectEditor.scss: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | display: grid; 3 | grid-template-columns: repeat(auto-fit, 140px); 4 | } 5 | .table-fill-width { 6 | width: 100%; 7 | } 8 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shmuelhizmi/notnotepad/HEAD/public/code/ckeditor4/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/dialog/dialogDefinition.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | -------------------------------------------------------------------------------- /src/LayoutComponents/projectSetup/setup.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | 4 | export default class ProjectSetup extends React.Component { 5 | render() { 6 | return
7 | 8 |
9 | } 10 | } -------------------------------------------------------------------------------- /public/apps/netlify.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

6 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/font/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Font license info 2 | 3 | 4 | ## Font Awesome 5 | 6 | Copyright (C) 2012 by Dave Gandy 7 | 8 | Author: Dave Gandy 9 | License: SIL () 10 | Homepage: http://fortawesome.github.com/Font-Awesome/ 11 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/data/toolbox.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolbox": { 3 | "categoriesOrder": [ 4 | "document", 5 | "metadata", 6 | "basics", 7 | "text styling", 8 | "listing", 9 | "media", 10 | "inputc" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/states/index.ts: -------------------------------------------------------------------------------- 1 | import { combineReducers, createStore } from "redux"; 2 | import NowStore from "./services/now"; 3 | export const Reducers = combineReducers({ 4 | now: NowStore 5 | }); 6 | 7 | export default createStore( 8 | Reducers); 9 | export interface action { 10 | type: T; 11 | data: D; 12 | } 13 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | NNP - NotNotePad 3 | 4 | 5 | 6 | 7 | 8 |
9 |
10 | 11 | -------------------------------------------------------------------------------- /src/Storage/fileutils.ts: -------------------------------------------------------------------------------- 1 | export const getDocumentLanguage = (name: string | null) => { 2 | if (name) { 3 | const parts = name.split("/"); 4 | const last = parts[parts.length - 1]; 5 | if (last.includes(".")) { 6 | return last.slice(last.lastIndexOf(".") + 1, last.length); 7 | } 8 | } 9 | return "none"; 10 | }; 11 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/preview/preview.html: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/dialog/styles/dialog.css: -------------------------------------------------------------------------------- 1 | .cke_dialog_open { 2 | overflow: hidden; 3 | } 4 | 5 | .cke_dialog_container { 6 | position: fixed; 7 | overflow-y: auto; 8 | overflow-x: auto; 9 | width: 100%; 10 | height: 100%; 11 | top: 0; 12 | left: 0; 13 | z-index: 10010; 14 | } 15 | 16 | .cke_dialog_body { 17 | position: relative; 18 | } 19 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/text/code_gen.js: -------------------------------------------------------------------------------- 1 | const makeBlockCode = block => { 2 | return { 3 | name: "text", 4 | blockText: "%text_input%", 5 | statement_inputs: [], 6 | value_inputs: [], 7 | field_values: ["text_input"], 8 | nextStatement: { exist: false, str: null } 9 | }; 10 | }; 11 | export default makeBlockCode; 12 | -------------------------------------------------------------------------------- /config/jest/cssTransform.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // This is a custom Jest transformer turning style imports into empty objects. 4 | // http://facebook.github.io/jest/docs/en/webpack.html 5 | 6 | module.exports = { 7 | process() { 8 | return 'module.exports = {};'; 9 | }, 10 | getCacheKey() { 11 | // The output is always the same. 12 | return 'cssTransform'; 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /public/code/ckeditor4/config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | 6 | CKEDITOR.editorConfig = function( config ) { 7 | // Define changes to default configuration here. For example: 8 | // config.language = 'fr'; 9 | // config.uiColor = '#AADC6E'; 10 | }; 11 | -------------------------------------------------------------------------------- /public/apps/messageTest.js: -------------------------------------------------------------------------------- 1 | var counter = 1; 2 | var action = () => ({ 3 | type: "message", 4 | id: counter, 5 | data: { 6 | message: "hi im a service - " + counter.toString(), 7 | intent: "success", 8 | icon: "info-sign" 9 | } 10 | }); 11 | addEventListener("message", function(e) { 12 | console.log(["new message to service -", e.data]); 13 | }); 14 | setInterval(function() { 15 | counter++; 16 | postMessage(action()); 17 | console.log("message sent"); 18 | }, 1500); 19 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/text/block_gen.js: -------------------------------------------------------------------------------- 1 | const makeBlock = block => { 2 | return { 3 | type: "text", 4 | message0: "%1", 5 | args0: [ 6 | { 7 | type: "field_input", 8 | name: "text_input", 9 | text: "" 10 | } 11 | ], 12 | previousStatement: null, 13 | nextStatement: null, 14 | colour: 160, 15 | tooltip: "just enter some text", 16 | helpUrl: "" 17 | }; 18 | }; 19 | export default makeBlock; 20 | -------------------------------------------------------------------------------- /src/LayoutComponents/Viewport/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from "styled-components"; 2 | 3 | export const Wrapper = styled.div` 4 | font-family: sans-serif; 5 | text-align: center; 6 | `; 7 | 8 | export const Pre = styled.pre` 9 | text-align: left; 10 | margin: 1em 0; 11 | padding: 0.5em; 12 | 13 | & .token-line { 14 | line-height: 1.3em; 15 | height: 1.3em; 16 | } 17 | `; 18 | 19 | export const LineNo = styled.span` 20 | display: inline-block; 21 | width: 2em; 22 | user-select: none; 23 | opacity: 0.3; 24 | `; 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "esModuleInterop": true, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": false, 10 | "forceConsistentCasingInFileNames": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "noEmit": true, 16 | "jsx": "react" 17 | }, 18 | "include": ["src"] 19 | } 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /lib 2 | /lib-legacy 3 | /node_modules 4 | *.log 5 | /.nyc_output 6 | /coverage 7 | /dist 8 | /dist-debug 9 | /artifacts 10 | /updates 11 | /resources/winsetup/generated.wxs 12 | /resources/winsetup/obj 13 | /resources/winsetup/bin 14 | /resources/win-chocolatey/tools/chocolateyinstall.ps1 15 | .vs 16 | *.msi 17 | *.nupkg 18 | test/fixtures/**/.fbkpm 19 | /tmp/ 20 | /__tests__/fixtures/**/_* 21 | /__tests__/fixtures/request-cache/GET/localhost/.bin 22 | .idea 23 | .yarn-meta 24 | .pnp.js 25 | .pnp 26 | /packages/lockfile/index.js 27 | .vscode/ 28 | /build -------------------------------------------------------------------------------- /src/ConsoleApps/terminalComponents.ts: -------------------------------------------------------------------------------- 1 | export const makeTable = (items: string[][]) => { 2 | return ( 3 | '' + 4 | items.map(row => { 5 | return ( 6 | "" + 7 | row.map(col => { 8 | return ""; 9 | }) + 10 | "" 11 | ); 12 | }) + 13 | "
" + col + "
" 14 | ); 15 | }; 16 | export const makeIcon = (icon: string, size = 25) => { 17 | return ''; 18 | }; 19 | -------------------------------------------------------------------------------- /public/apps/messageTest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

APP message

5 | 6 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/APIS/git/git.js: -------------------------------------------------------------------------------- 1 | import * as git from "isomorphic-git"; 2 | import * as BrowserFS from "browserfs/dist/node/core/browserfs"; 3 | 4 | export default class GIT_API { 5 | constructor(token) { 6 | this.fileSystem = BrowserFS.BFSRequire("fs"); 7 | this.gitclient = git; 8 | this.gitclient.plugins.set("fs", this.fileSystem); 9 | } 10 | clone(dir, url, ref = "master") { 11 | return this.gitclient.clone({ 12 | dir, 13 | corsProxy: "https://cors.isomorphic-git.org", 14 | url: url, 15 | ref: ref, 16 | singleBranch: true, 17 | depth: 1 18 | }); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/data/blockPrototype.json: -------------------------------------------------------------------------------- 1 | ({ 2 | "name": "exmple", 3 | "displayName": "exmple display name", 4 | "description": "exmple description", 5 | "type": "for HTML -text/tag/attribute", 6 | "tags": ["tags", "for", "categoties"], 7 | "Exmple_metadata": { 8 | "noAttributes": "boolean", 9 | "noBody": "boolean", 10 | "openTag": "open tag to use in TAGS", 11 | "closeTag": "close tag to use in TAGS", 12 | "childTag": "child tag to spwn inside perent block", 13 | "valueList": { 14 | "values": ["option one for attrubute value list", "tow", "..."] 15 | } 16 | } 17 | }, 18 | {}) 19 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/init.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "html", 3 | "blocksDir": ["attribute", "tag", "text"], 4 | "dataDir": "data", 5 | "defualtPageData": "headline" 6 | } 7 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/font/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "css_prefix_text": "icon-", 4 | "css_use_suffix": false, 5 | "hinting": true, 6 | "units_per_em": 1000, 7 | "ascent": 850, 8 | "glyphs": [ 9 | { 10 | "uid": "f48ae54adfb27d8ada53d0fd9e34ee10", 11 | "css": "trash-empty", 12 | "code": 59392, 13 | "src": "fontawesome" 14 | }, 15 | { 16 | "uid": "1c4068ed75209e21af36017df8871802", 17 | "css": "down-big", 18 | "code": 59393, 19 | "src": "fontawesome" 20 | }, 21 | { 22 | "uid": "95376bf082bfec6ce06ea1cda7bd7ead", 23 | "css": "up-big", 24 | "code": 59394, 25 | "src": "fontawesome" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /config/pnpTs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const { resolveModuleName } = require('ts-pnp'); 4 | 5 | exports.resolveModuleName = ( 6 | typescript, 7 | moduleName, 8 | containingFile, 9 | compilerOptions, 10 | resolutionHost 11 | ) => { 12 | return resolveModuleName( 13 | moduleName, 14 | containingFile, 15 | compilerOptions, 16 | resolutionHost, 17 | typescript.resolveModuleName 18 | ); 19 | }; 20 | 21 | exports.resolveTypeReferenceDirective = ( 22 | typescript, 23 | moduleName, 24 | containingFile, 25 | compilerOptions, 26 | resolutionHost 27 | ) => { 28 | return resolveModuleName( 29 | moduleName, 30 | containingFile, 31 | compilerOptions, 32 | resolutionHost, 33 | typescript.resolveTypeReferenceDirective 34 | ); 35 | }; 36 | -------------------------------------------------------------------------------- /src/UIComponents/tabs.scss: -------------------------------------------------------------------------------- 1 | .bp3-navbar-group { 2 | &::-webkit-scrollbar { 3 | width: 0.5rem; 4 | height: 0.35rem; 5 | } 6 | 7 | &::-webkit-scrollbar-thumb { 8 | -webkit-transition: 0.3s ease all; 9 | transition: 0.3s ease all; 10 | border-color: transparent; 11 | border: 1px solid black; 12 | background-color: rgba(255, 255, 255, 0.1); 13 | z-index: 40; 14 | } 15 | } 16 | 17 | .scroll { 18 | &::-webkit-scrollbar { 19 | width: 0.5rem; 20 | height: 0.35rem; 21 | } 22 | 23 | &::-webkit-scrollbar-thumb { 24 | -webkit-transition: 0.3s ease all; 25 | transition: 0.3s ease all; 26 | border-color: transparent; 27 | background-color: rgba(255, 255, 255, 0.1); 28 | border: 1px solid black; 29 | z-index: 40; 30 | } 31 | } -------------------------------------------------------------------------------- /src/Editor/Code_Editors/CKEditor4_Editor/CKEditor4_Editor.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import CodeEditor from "../../CodeEditor"; 3 | import CKEditor from "ckeditor4-react"; 4 | 5 | export default class CKEditor4Editor extends CodeEditor { 6 | componentWillMount = () => { 7 | CKEditor.editorUrl = "https://notnotepad.now.sh/ckeditor.js"; 8 | }; 9 | componentDidMount = () => { 10 | this.setState({ editor: "CKEditor4Editor" }); 11 | }; 12 | onEditorChange = evt => { 13 | const data = evt.editor.getData(); 14 | this.updateDocument(data); 15 | }; 16 | componentWillUnmount = () => {}; 17 | render() { 18 | const code = this.state.code; 19 | return ( 20 | 21 | 22 | 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/attribute/code_gen.js: -------------------------------------------------------------------------------- 1 | export const makeBlockCode = block => { 2 | const type = block.name; 3 | const name = block.displayName || block.name; 4 | const haveValueList = block.metadata.hasOwnProperty("valueList") || false; 5 | const fieldName = haveValueList 6 | ? block.metadata.valueList.name 7 | : "attribute_value_input"; 8 | const next_attrinute = "next_attrinute"; 9 | let field_inputs = [fieldName]; 10 | let statement_inputs = [next_attrinute]; 11 | 12 | return { 13 | name: name, 14 | blockText: `${type}="%${fieldName}%"%${next_attrinute}%`, 15 | value_inputs: [], 16 | statement_inputs: statement_inputs, 17 | field_values: field_inputs, 18 | nextStatement: { exist: false, str: null } 19 | }; 20 | }; 21 | export default makeBlockCode; 22 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/pbckcode/dialogs/PBSyntaxHighlighter.js: -------------------------------------------------------------------------------- 1 | var PBSyntaxHighlighter=function(){function a(a){switch(a){case "HIGHLIGHT":this.sh=HIGHLIGHT;break;case "PRETTIFY":this.sh=PRETTIFY;break;case "PRISM":this.sh=PRISM;break;case "SYNTAX_HIGHLIGHTER":this.sh=SYNTAX_HIGHLIGHTER;break;default:this.sh={_type:"DEFAULT",_cls:"",_tag:"pre"}}}a.prototype.setType=function(a){this.sh._type=a};a.prototype.getType=function(){return this.sh._type};a.prototype.setCls=function(a){this.sh.cls=this.sh._cls+a};a.prototype.getCls=function(){return this.sh.cls};a.prototype.getTag= 2 | function(){return this.sh._tag};return a}(),HIGHLIGHT={_type:"HIGHLIGHT",_cls:"",_tag:"code"},PRETTIFY={_type:"PRETTIFY",_cls:"prettyprint linenums lang-",_tag:"pre"},PRISM={_type:"PRISM",_cls:"language-",_tag:"code"},SYNTAX_HIGHLIGHTER={_type:"SYNTAX_HIGHLIGHTER",_cls:"brush: ",_tag:"pre"}; -------------------------------------------------------------------------------- /src/Editor/Code_Editors/CKEditor_Editor/CKEditor_Editor.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import CodeEditor from "../../CodeEditor"; 3 | import CKEditor from "@ckeditor/ckeditor5-react"; 4 | import classicEditor from "@ckeditor/ckeditor5-build-classic"; 5 | 6 | export default class CKEditorEditor extends CodeEditor { 7 | componentDidMount = () => { 8 | this.setState({ editor: "CKEditorEditor" }); 9 | }; 10 | onEditorChange = (e, editor) => { 11 | const data = editor.getData(); 12 | this.updateDocument(data); 13 | }; 14 | componentWillUnmount = () => {}; 15 | render() { 16 | const code = this.state.code; 17 | return ( 18 | 19 | 24 | 25 | ); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/specialchar/dialogs/lang/_translationstatus.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 2 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 3 | 4 | cs.js Found: 118 Missing: 0 5 | cy.js Found: 118 Missing: 0 6 | de.js Found: 118 Missing: 0 7 | el.js Found: 16 Missing: 102 8 | eo.js Found: 118 Missing: 0 9 | et.js Found: 31 Missing: 87 10 | fa.js Found: 24 Missing: 94 11 | fi.js Found: 23 Missing: 95 12 | fr.js Found: 118 Missing: 0 13 | hr.js Found: 23 Missing: 95 14 | it.js Found: 118 Missing: 0 15 | nb.js Found: 118 Missing: 0 16 | nl.js Found: 118 Missing: 0 17 | no.js Found: 118 Missing: 0 18 | tr.js Found: 118 Missing: 0 19 | ug.js Found: 39 Missing: 79 20 | zh-cn.js Found: 118 Missing: 0 21 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/sample_posteddata.php: -------------------------------------------------------------------------------- 1 |
 2 | 
 3 | -------------------------------------------------------------------------------------------
 4 |   CKEditor - Posted Data
 5 | 
 6 |   We are sorry, but your Web server does not support the PHP language used in this script.
 7 | 
 8 |   Please note that CKEditor can be used with any other server-side language than just PHP.
 9 |   To save the content created with CKEditor you need to read the POST data on the server
10 |   side and write it to a file or the database.
11 | 
12 |   Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
13 |   For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
14 | -------------------------------------------------------------------------------------------
15 | 
16 | 
*/ include "assets/posteddata.php"; ?> 17 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockMaker.js: -------------------------------------------------------------------------------- 1 | export const UniversalBlockMaker = ( 2 | type, 3 | name, 4 | inputArguments, 5 | color = 200, 6 | tooltip = "", 7 | helpUrl = "", 8 | inputsInline = false, 9 | hasPerent = false, 10 | metadata = {}, 11 | style = "default", 12 | leftOutput = false 13 | ) => { 14 | let message0 = name; 15 | for (let count = 1; count <= inputArguments.length; count++) { 16 | message0 += " %" + count; 17 | } 18 | let result = { 19 | type: type, 20 | message0: message0, 21 | args0: inputArguments, 22 | inputsInline: inputsInline, 23 | tooltip: tooltip, 24 | helpUrl: helpUrl, 25 | metadata: metadata, 26 | style: style 27 | }; 28 | if (hasPerent) { 29 | result.nextStatement = null; 30 | result.previousStatement = null; 31 | } 32 | if (leftOutput) { 33 | result.output = null; 34 | } 35 | return result; 36 | }; 37 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/colordialog/dialogs/colordialog.css: -------------------------------------------------------------------------------- 1 | /** 2 | * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | 6 | .cke_colordialog_colorcell { 7 | width: 12px; /* All cells have equal width which depends on parent width (in this case table parent). Width works more like max-width. */ 8 | height: 14px; 9 | padding: 1px; /* Padding is replaced by border for focused cells. Prevents 'jumping' when adding borders. */ 10 | } 11 | 12 | .cke_colordialog_colorcell.cke_colordialog_focused_light, 13 | .cke_colordialog_colorcell.cke_colordialog_focused_dark { 14 | padding: 0; /* Shrink cell to allow 1px border indicating focus. */ 15 | border: 1px dotted #000; 16 | } 17 | 18 | .cke_colordialog_colorcell.cke_colordialog_focused_dark { 19 | border-color: #FFF; 20 | } 21 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/lib/codemirror/show-hint.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-hints { 2 | position: absolute; 3 | z-index: 10; 4 | overflow: hidden; 5 | list-style: none; 6 | 7 | margin: 0; 8 | padding: 2px; 9 | 10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2); 13 | border-radius: 3px; 14 | border: 1px solid silver; 15 | 16 | background: white; 17 | font-size: 90%; 18 | font-family: monospace; 19 | 20 | max-height: 20em; 21 | overflow-y: auto; 22 | } 23 | 24 | .CodeMirror-hint { 25 | margin: 0; 26 | padding: 0 4px; 27 | border-radius: 2px; 28 | max-width: 19em; 29 | overflow: hidden; 30 | white-space: pre; 31 | color: black; 32 | cursor: pointer; 33 | } 34 | 35 | li.CodeMirror-hint-active { 36 | background: #08f; 37 | color: white; 38 | } 39 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/CodeMirror_Editor/CodeMirror_Editor.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import CodeEditor from "../../CodeEditor"; 3 | import { UnControlled as CodeMirror } from "react-codemirror2"; 4 | import "codemirror/theme/material.css"; 5 | import "codemirror/lib/codemirror.css"; 6 | export default class CodeMirrorEditor extends CodeEditor { 7 | render() { 8 | require("codemirror/mode/" + 9 | this.state.language + 10 | "/" + 11 | this.state.language); 12 | return ( 13 |
14 | { 22 | this.updateDocument(value); 23 | }} 24 | > 25 |
26 | ); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom"; 3 | import * as serviceWorker from "./serviceWorker"; 4 | import "./index.css"; 5 | import "./app.scss"; 6 | import WebRouter from "./router"; 7 | import BrowserFSStorage from "./Storage/filesystems/browserFS"; 8 | import WellcomePage from "./wellcomePage"; 9 | import { FocusStyleManager } from "@blueprintjs/core"; 10 | import { FileSystem } from "browserfs/dist/node/core/file_system"; 11 | declare global { 12 | interface Window { 13 | __REDUX_DEVTOOLS_EXTENSION__: any; 14 | fs: FileSystem; 15 | } 16 | } 17 | ReactDOM.render( 18 | React.createElement(WellcomePage), 19 | document.getElementById("editor") 20 | ); 21 | BrowserFSStorage().then(async (fs) => { 22 | FocusStyleManager.onlyShowFocusOnTabs(); 23 | ReactDOM.render( 24 | React.createElement(WebRouter), 25 | document.getElementById("editor") 26 | ); 27 | 28 | serviceWorker.unregister(); 29 | }); 30 | -------------------------------------------------------------------------------- /src/LayoutComponents/Editor/EditorWindow.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import EditorLauncher from "./EditorLauncher"; 3 | export interface EditorWindowState { 4 | editor: string | null; 5 | document: string | null; 6 | } 7 | export interface EditorWindowProps { 8 | document: string | null; 9 | editor: string | null; 10 | } 11 | 12 | class EditorWindow extends Component { 13 | constructor(props: EditorWindowProps) { 14 | super(props); 15 | this.state = { 16 | document: props.document, 17 | editor: props.editor 18 | }; 19 | } 20 | render() { 21 | if (this.state.document) { 22 | return ( 23 |
24 | 28 |
29 | ); 30 | } else { 31 | return <>; 32 | } 33 | } 34 | } 35 | 36 | export default EditorWindow; 37 | -------------------------------------------------------------------------------- /public/media/oauth/zeit-black-triangle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Logotype - Black 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/a11yhelp/dialogs/lang/_translationstatus.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 2 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 3 | 4 | cs.js Found: 30 Missing: 0 5 | cy.js Found: 30 Missing: 0 6 | da.js Found: 12 Missing: 18 7 | de.js Found: 30 Missing: 0 8 | el.js Found: 25 Missing: 5 9 | eo.js Found: 30 Missing: 0 10 | fa.js Found: 30 Missing: 0 11 | fi.js Found: 30 Missing: 0 12 | fr.js Found: 30 Missing: 0 13 | gu.js Found: 12 Missing: 18 14 | he.js Found: 30 Missing: 0 15 | it.js Found: 30 Missing: 0 16 | mk.js Found: 5 Missing: 25 17 | nb.js Found: 30 Missing: 0 18 | nl.js Found: 30 Missing: 0 19 | no.js Found: 30 Missing: 0 20 | pt-br.js Found: 30 Missing: 0 21 | ro.js Found: 6 Missing: 24 22 | tr.js Found: 30 Missing: 0 23 | ug.js Found: 27 Missing: 3 24 | vi.js Found: 6 Missing: 24 25 | zh-cn.js Found: 30 Missing: 0 26 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", 4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", 12 | monospace; 13 | } 14 | * { 15 | outline: none; 16 | } 17 | 18 | html, 19 | body, 20 | #app { 21 | height: 100%; 22 | width: 100%; 23 | margin: 0; 24 | } 25 | .App { 26 | text-align: center; 27 | } 28 | 29 | .App-logo { 30 | height: 40vmin; 31 | } 32 | 33 | .App-header { 34 | min-height: 100vh; 35 | display: flex; 36 | flex-direction: column; 37 | align-items: center; 38 | justify-content: center; 39 | font-size: calc(10px + 2vmin); 40 | color: white; 41 | } 42 | 43 | .App-link { 44 | color: #09d3ac; 45 | } 46 | 47 | .Fill { 48 | background-color: white; 49 | height: 100%; 50 | width: 100%; 51 | border-color: #695c92; 52 | } 53 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/lib/codemirror/neo.css: -------------------------------------------------------------------------------- 1 | /* neo theme for codemirror */ 2 | 3 | /* Color scheme */ 4 | 5 | .cm-s-neo.CodeMirror { 6 | background-color:#ffffff; 7 | color:#2e383c; 8 | line-height:1.4375; 9 | } 10 | .cm-s-neo .cm-comment {color:#75787b} 11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property {color:#1d75b3} 12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number {color:#75438a} 13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag {color:#9c3328} 14 | .cm-s-neo .cm-string {color:#b35e14} 15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier {color:#047d65} 16 | 17 | 18 | /* Editor styling */ 19 | 20 | .cm-s-neo pre { 21 | padding:0; 22 | } 23 | 24 | .cm-s-neo .CodeMirror-gutters { 25 | border:none; 26 | border-right:10px solid transparent; 27 | background-color:transparent; 28 | } 29 | 30 | .cm-s-neo .CodeMirror-linenumber { 31 | padding:0; 32 | color:#e0e2e5; 33 | } 34 | 35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } 36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 shmuel hizmi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/dialog/assets/my_dialog.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | 6 | CKEDITOR.dialog.add( 'myDialog', function() { 7 | return { 8 | title: 'My Dialog', 9 | minWidth: 400, 10 | minHeight: 200, 11 | contents: [ 12 | { 13 | id: 'tab1', 14 | label: 'First Tab', 15 | title: 'First Tab', 16 | elements: [ 17 | { 18 | id: 'input1', 19 | type: 'text', 20 | label: 'Text Field' 21 | }, 22 | { 23 | id: 'select1', 24 | type: 'select', 25 | label: 'Select Field', 26 | items: [ 27 | [ 'option1', 'value1' ], 28 | [ 'option2', 'value2' ] 29 | ] 30 | } 31 | ] 32 | }, 33 | { 34 | id: 'tab2', 35 | label: 'Second Tab', 36 | title: 'Second Tab', 37 | elements: [ 38 | { 39 | id: 'button1', 40 | type: 'button', 41 | label: 'Button Field' 42 | } 43 | ] 44 | } 45 | ] 46 | }; 47 | } ); 48 | 49 | -------------------------------------------------------------------------------- /public/media/editors/jsonview.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Layer 1 7 | { } 8 | rjv 9 | json tree editor 10 | 11 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/tag/block_gen.js: -------------------------------------------------------------------------------- 1 | import { UniversalBlockMaker } from "../../../blockMaker"; 2 | 3 | const makeBlock = block => { 4 | const type = block.name; 5 | const name = block.displayName || block.name; 6 | const color = 100; 7 | const tooltip = block.description; 8 | const helpURL = block.helpURL || ""; 9 | const haveMetadata = block.hasOwnProperty("metadata"); 10 | const noPerent = block.metadata.noPerent || false; 11 | const noBody = block.metadata.noBody || false; 12 | 13 | let args = [ 14 | { 15 | type: "input_dummy" 16 | } 17 | ]; 18 | if (!haveMetadata || !block.metadata.noAttributes) { 19 | args.push({ type: "input_value", name: "attribute_input" }); 20 | } 21 | if (haveMetadata || !noBody) { 22 | args.push({ type: "input_statement", name: "tag_body_input" }); 23 | } 24 | return UniversalBlockMaker( 25 | type, 26 | name, 27 | args, 28 | color, 29 | tooltip, 30 | helpURL, 31 | true, 32 | !noPerent, 33 | haveMetadata ? block.metadata : {}, 34 | block.hasOwnProperty("tags") ? block.tags[0] : "default" 35 | ); 36 | }; 37 | export default makeBlock; 38 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/pbckcode/dialogs/style.css: -------------------------------------------------------------------------------- 1 | /*label styling */ 2 | .cke_pbckcode_form .cke_dialog_ui_labeled_content { 3 | display: inline-block; 4 | vertical-align: middle; 5 | margin-left: 6px; 6 | } 7 | 8 | /*select styling */ 9 | .cke_pbckcode_form .cke_dialog_ui_input_select select { 10 | background-color: white; 11 | border: 1px solid #ccc; 12 | border-radius: 4px; 13 | color: #555; 14 | display: inline-block; 15 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 16 | font-size: 12px; 17 | height: auto; 18 | margin-bottom: 0; 19 | padding: 0; 20 | vertical-align: middle; 21 | width: 110px; 22 | } 23 | 24 | /* ace reset needed due to ckeditor style */ 25 | .cke_pbckcode_ace.ace_editor * { 26 | font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Droid Sans Mono', 'Consolas', monospace; 27 | font-size: 12px; 28 | } 29 | 30 | .cke_pbckcode_ace .ace_invisible { 31 | opacity: 0; 32 | visibility: hidden; 33 | } 34 | 35 | /*good font color on dark theme*/ 36 | .cke_pbckcode_ace.ace_dark * { 37 | color: inherit; 38 | } 39 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/lib/codemirror/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2014 by Marijn Haverbeke and others 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /public/media/editors/monaco.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Layer 1 6 | MONACO 7 | EDITOR 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/tableselection/styles/tableselection.css: -------------------------------------------------------------------------------- 1 | .cke_table-faked-selection-editor *::selection, table[data-cke-table-faked-selection-table] *::selection { 2 | background: transparent; 3 | } 4 | 5 | .cke_table-faked-selection { 6 | background: darkgray !important; 7 | color: black; 8 | } 9 | .cke_table-faked-selection a { 10 | color: black; 11 | } 12 | .cke_editable:focus .cke_table-faked-selection { 13 | /* We have to use !important here, as td might specify it's own background, thus table selection 14 | would not be visible. */ 15 | background: #0076cb !important; 16 | color: white; 17 | } 18 | .cke_editable:focus .cke_table-faked-selection a { 19 | color: white; 20 | } 21 | .cke_table-faked-selection::-moz-selection, .cke_table-faked-selection ::-moz-selection { 22 | background: transparent; 23 | } 24 | .cke_table-faked-selection::selection, .cke_table-faked-selection ::selection { 25 | background: transparent; 26 | } 27 | 28 | /* Change the cursor when selecting cells (#706). 29 | * 30 | * This solution does not work in IE, Edge and Safari due to upstream isues: 31 | * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/3419602/ 32 | * https://bugs.webkit.org/show_bug.cgi?id=53341 33 | */ 34 | table[data-cke-table-faked-selection-table] { 35 | cursor: cell; 36 | } 37 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/attribute/block_gen.js: -------------------------------------------------------------------------------- 1 | import { UniversalBlockMaker } from "../../../blockMaker"; 2 | 3 | const makeBlock = block => { 4 | const type = block.name; 5 | const name = block.displayName || block.name; 6 | const color = 230; 7 | const tooltip = block.description; 8 | const haveMetadata = block.hasOwnProperty("metadata"); 9 | const haveValueList = block.metadata.hasOwnProperty("valueList") || false; 10 | const helpURL = block.hasOwnProperty("helpURL") || ""; 11 | let args = []; 12 | if (haveValueList) { 13 | let dropDownValues = []; 14 | block.metadata.valueList.values.forEach(element => { 15 | dropDownValues.push([element, element]); 16 | }); 17 | args.push({ 18 | type: "field_dropdown", 19 | name: block.metadata.valueList.name, 20 | option: dropDownValues 21 | }); 22 | } else { 23 | args.push({ 24 | type: "field_input", 25 | name: "attribute_value_input", 26 | text: "" 27 | }); 28 | } 29 | args.push({ type: "input_value", name: "next_attrinute" }); 30 | return UniversalBlockMaker( 31 | type, 32 | name, 33 | args, 34 | color, 35 | tooltip, 36 | helpURL, 37 | false, 38 | false, 39 | haveMetadata ? block.metadata : {}, 40 | block.hasOwnProperty("tags") ? block.tags[0] : "default", 41 | true 42 | ); 43 | }; 44 | export default makeBlock; 45 | -------------------------------------------------------------------------------- /config/jest/fileTransform.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const path = require('path'); 4 | const camelcase = require('camelcase'); 5 | 6 | // This is a custom Jest transformer turning file imports into filenames. 7 | // http://facebook.github.io/jest/docs/en/webpack.html 8 | 9 | module.exports = { 10 | process(src, filename) { 11 | const assetFilename = JSON.stringify(path.basename(filename)); 12 | 13 | if (filename.match(/\.svg$/)) { 14 | // Based on how SVGR generates a component name: 15 | // https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6 16 | const pascalCaseFilename = camelcase(path.parse(filename).name, { 17 | pascalCase: true, 18 | }); 19 | const componentName = `Svg${pascalCaseFilename}`; 20 | return `const React = require('react'); 21 | module.exports = { 22 | __esModule: true, 23 | default: ${assetFilename}, 24 | ReactComponent: React.forwardRef(function ${componentName}(props, ref) { 25 | return { 26 | $$typeof: Symbol.for('react.element'), 27 | type: 'svg', 28 | ref: ref, 29 | key: null, 30 | props: Object.assign({}, props, { 31 | children: ${assetFilename} 32 | }) 33 | }; 34 | }), 35 | };`; 36 | } 37 | 38 | return `module.exports = ${assetFilename};`; 39 | }, 40 | }; 41 | -------------------------------------------------------------------------------- /src/router.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import WindowsLayout, { Theme } from "./WindowsLayout"; 3 | import { BrowserRouter, Switch, Route, useParams } from "react-router-dom"; 4 | import { Provider } from "react-redux"; 5 | 6 | import REDUXSTORE from "./states"; 7 | 8 | class WebRouter extends Component { 9 | render() { 10 | return ( 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
AAA
24 |
25 |
26 |
27 |
28 | ); 29 | } 30 | } 31 | const ThemeRouter = () => { 32 | const { theme } = useParams(); 33 | let selectedTheme: Theme = "nnp"; 34 | if (theme.includes("dark")) { 35 | selectedTheme = "dark"; 36 | } 37 | if (theme.includes("light")) { 38 | selectedTheme = "light"; 39 | } 40 | if (theme.includes("nnp")) { 41 | selectedTheme = "nnp"; 42 | } 43 | return ( 44 | 45 | 46 | 47 | ); 48 | }; 49 | export default WebRouter; 50 | -------------------------------------------------------------------------------- /src/states/services/now.ts: -------------------------------------------------------------------------------- 1 | import { combineReducers } from "redux"; 2 | import { action } from "../index"; 3 | 4 | const isNowEnabled = (state = false, action: action) => { 5 | switch (action.type) { 6 | case "now_enable": { 7 | return true; 8 | } 9 | case "now_disable": { 10 | return false; 11 | } 12 | } 13 | 14 | return state; 15 | }; 16 | 17 | export const nowToken = ( 18 | state: string = "", 19 | action: action 20 | ) => { 21 | if (action.type === "now_updateToken") { 22 | return action.data; 23 | } 24 | return state; 25 | }; 26 | export const nowUrl = (state: string = "", action: action) => { 27 | if (action.type === "now_updateUrl") { 28 | return action.data; 29 | } 30 | return state; 31 | }; 32 | export default combineReducers({ 33 | enabled: isNowEnabled, 34 | url: nowUrl, 35 | token: nowToken 36 | }); 37 | 38 | export const setNowEnable: (enable: boolean) => action = ( 39 | enable: boolean = false 40 | ) => ({ 41 | type: enable ? "now_enable" : "now_disable", 42 | data: {} 43 | }); 44 | export const setNowToken: (token: string) => action = ( 45 | token: string 46 | ) => { 47 | return { 48 | type: "now_updateToken", 49 | data: token 50 | }; 51 | }; 52 | export const setNowUrl: (url: string) => action = ( 53 | url: string 54 | ) => { 55 | return { 56 | type: "now_updateUrl", 57 | data: url 58 | }; 59 | }; 60 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/assets/uilanguages/languages.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | var CKEDITOR_LANGS=function(){var c={af:"Afrikaans",ar:"Arabic",az:"Azerbaijani",bg:"Bulgarian",bn:"Bengali/Bangla",bs:"Bosnian",ca:"Catalan",cs:"Czech",cy:"Welsh",da:"Danish",de:"German","de-ch":"German (Switzerland)",el:"Greek",en:"English","en-au":"English (Australia)","en-ca":"English (Canadian)","en-gb":"English (United Kingdom)",eo:"Esperanto",es:"Spanish","es-mx":"Spanish (Mexico)",et:"Estonian",eu:"Basque",fa:"Persian",fi:"Finnish",fo:"Faroese",fr:"French","fr-ca":"French (Canada)",gl:"Galician", 6 | gu:"Gujarati",he:"Hebrew",hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian",is:"Icelandic",it:"Italian",ja:"Japanese",ka:"Georgian",km:"Khmer",ko:"Korean",ku:"Kurdish",lt:"Lithuanian",lv:"Latvian",mk:"Macedonian",mn:"Mongolian",ms:"Malay",nb:"Norwegian Bokmal",nl:"Dutch",no:"Norwegian",oc:"Occitan",pl:"Polish",pt:"Portuguese (Portugal)","pt-br":"Portuguese (Brazil)",ro:"Romanian",ru:"Russian",si:"Sinhala",sk:"Slovak",sq:"Albanian",sl:"Slovenian",sr:"Serbian (Cyrillic)","sr-latn":"Serbian (Latin)", 7 | sv:"Swedish",th:"Thai",tr:"Turkish",tt:"Tatar",ug:"Uighur",uk:"Ukrainian",vi:"Vietnamese",zh:"Chinese Traditional","zh-cn":"Chinese Simplified"},b=[],a;for(a in CKEDITOR.lang.languages)b.push({code:a,name:c[a]||a});b.sort(function(a,b){return a.name { 18 | this.setState({ editor: "MDEditor" }); 19 | }; 20 | onEditorChange = newValue => { 21 | this.saveEditorData(newValue); 22 | this.setState({ code: newValue }); 23 | }; 24 | render() { 25 | return ( 26 |
27 | 28 | { 33 | this.setState({ selectedTab: tab }); 34 | }} 35 | value={this.state.code} 36 | onChange={this.onEditorChange} 37 | generateMarkdownPreview={markdown => 38 | Promise.resolve(converter.makeHtml(markdown)) 39 | } 40 | /> 41 | 42 |
43 | ); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | 5 | declare namespace NodeJS { 6 | interface ProcessEnv { 7 | readonly NODE_ENV: 'development' | 'production' | 'test'; 8 | readonly PUBLIC_URL: string; 9 | } 10 | } 11 | 12 | declare module '*.bmp' { 13 | const src: string; 14 | export default src; 15 | } 16 | 17 | declare module '*.gif' { 18 | const src: string; 19 | export default src; 20 | } 21 | 22 | declare module '*.jpg' { 23 | const src: string; 24 | export default src; 25 | } 26 | 27 | declare module '*.jpeg' { 28 | const src: string; 29 | export default src; 30 | } 31 | 32 | declare module '*.png' { 33 | const src: string; 34 | export default src; 35 | } 36 | 37 | declare module '*.webp' { 38 | const src: string; 39 | export default src; 40 | } 41 | 42 | declare module '*.svg' { 43 | import * as React from 'react'; 44 | 45 | export const ReactComponent: React.FunctionComponent>; 46 | 47 | const src: string; 48 | export default src; 49 | } 50 | 51 | declare module '*.module.css' { 52 | const classes: { readonly [key: string]: string }; 53 | export default classes; 54 | } 55 | 56 | declare module '*.module.scss' { 57 | const classes: { readonly [key: string]: string }; 58 | export default classes; 59 | } 60 | 61 | declare module '*.module.sass' { 62 | const classes: { readonly [key: string]: string }; 63 | export default classes; 64 | } 65 | -------------------------------------------------------------------------------- /public/code/ckeditor4/README.md: -------------------------------------------------------------------------------- 1 | CKEditor 4 2 | ========== 3 | 4 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 5 | http://ckeditor.com - See LICENSE.md for license information. 6 | 7 | CKEditor is a text editor to be used inside web pages. It's not a replacement 8 | for desktop text editors like Word or OpenOffice, but a component to be used as 9 | part of web applications and websites. 10 | 11 | ## Documentation 12 | 13 | The full editor documentation is available online at the following address: 14 | http://docs.ckeditor.com 15 | 16 | ## Installation 17 | 18 | Installing CKEditor is an easy task. Just follow these simple steps: 19 | 20 | 1. **Download** the latest version from the CKEditor website: 21 | http://ckeditor.com. You should have already completed this step, but be 22 | sure you have the very latest version. 23 | 2. **Extract** (decompress) the downloaded file into the root of your website. 24 | 25 | **Note:** CKEditor is by default installed in the `ckeditor` folder. You can 26 | place the files in whichever you want though. 27 | 28 | ## Checking Your Installation 29 | 30 | The editor comes with a few sample pages that can be used to verify that 31 | installation proceeded properly. Take a look at the `samples` directory. 32 | 33 | To test your installation, just call the following page at your website: 34 | 35 | http:////samples/index.html 36 | 37 | For example: 38 | 39 | http://www.example.com/ckeditor/samples/index.html 40 | -------------------------------------------------------------------------------- /scripts/test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Do this as the first thing so that any code reading it knows the right env. 4 | process.env.BABEL_ENV = 'test'; 5 | process.env.NODE_ENV = 'test'; 6 | process.env.PUBLIC_URL = ''; 7 | 8 | // Makes the script crash on unhandled rejections instead of silently 9 | // ignoring them. In the future, promise rejections that are not handled will 10 | // terminate the Node.js process with a non-zero exit code. 11 | process.on('unhandledRejection', err => { 12 | throw err; 13 | }); 14 | 15 | // Ensure environment variables are read. 16 | require('../config/env'); 17 | 18 | 19 | const jest = require('jest'); 20 | const execSync = require('child_process').execSync; 21 | let argv = process.argv.slice(2); 22 | 23 | function isInGitRepository() { 24 | try { 25 | execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' }); 26 | return true; 27 | } catch (e) { 28 | return false; 29 | } 30 | } 31 | 32 | function isInMercurialRepository() { 33 | try { 34 | execSync('hg --cwd . root', { stdio: 'ignore' }); 35 | return true; 36 | } catch (e) { 37 | return false; 38 | } 39 | } 40 | 41 | // Watch unless on CI or explicitly running all tests 42 | if ( 43 | !process.env.CI && 44 | argv.indexOf('--watchAll') === -1 && 45 | argv.indexOf('--watchAll=false') === -1 46 | ) { 47 | // https://github.com/facebook/create-react-app/issues/5210 48 | const hasSourceControl = isInGitRepository() || isInMercurialRepository(); 49 | argv.push(hasSourceControl ? '--watch' : '--watchAll'); 50 | } 51 | 52 | 53 | jest.run(argv); 54 | -------------------------------------------------------------------------------- /src/LayoutComponents/apps/windows/marketPlace.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import { Button } from "@blueprintjs/core"; 3 | import { addApp, app } from "../appStorage"; 4 | import ReactJson from "react-json-view"; 5 | import Scrollbars from "react-custom-scrollbars"; 6 | interface MarketPlaceState { 7 | app: app | any; 8 | } 9 | export default class MarketPlace extends Component<{}, MarketPlaceState> { 10 | constructor(props: {}) { 11 | super(props); 12 | this.state = { 13 | app: { 14 | name: "exmple app", 15 | url: "www.exmple.app", 16 | type: "app", 17 | appID: "com.exmple.app", 18 | permissions: { 19 | read: false, 20 | write: false, 21 | delete: false, 22 | message: true, 23 | launchApp: false, 24 | installAps: true 25 | } 26 | } 27 | }; 28 | } 29 | render() { 30 | return ( 31 |
32 | 33 | { 37 | if (typeof e.existing_value === typeof e.new_value) { 38 | this.setState({ app: e.updated_src }); 39 | } else { 40 | return false; 41 | } 42 | }} 43 | > 44 | 45 | 53 |
54 | ); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/pbckcode/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## v1.2.5 (4.0.x - 4.6.x) 4 | I updated the code style guide to 2spaces instead of 4. 5 | 6 | * [FEATURE] : Updated ACE editor to 1.2.6 7 | * [DOC] : Added the examples directly in the master branch 8 | 9 | ## v1.2.4 (4.0.x - 4.5.x) 10 | 11 | * [FIX] : Fixed C/C++ mode 12 | * [FIX] : Avoid mixed content with cdn script 13 | * [FIX] : Fixed tab size value 14 | * [FEATURE] : Added HiDPI icon 15 | * [FEATURE] : Added Turkish 16 | * [FEATURE] : Added Russian 17 | 18 | ## v1.2.3 (4.0.x - 4.4.x) 19 | 20 | * [FIX] : Fixed auto focus on the editor when opening the dialog. 21 | * [FIX] : Fixed space character encoding 22 | * [FEATURE] : Added property to choose the ACE Editor sources 23 | 24 | ## v1.2.2 (4.0.x - 4.4.x) 25 | 26 | * [FIX] : Fixed ckeditor style overriden by pbckcode plugin 27 | 28 | ## v1.2.1 (4.0.x - 4.3.x) 29 | 30 | * [FIX] : problem with minification for CKEditor Builder 31 | * [FIX] : multiples script loads when you instanciate several CKEditor on the same page 32 | 33 | From the v1.2.1, ACE Editor is now loaded from the [jsDelivr CDN](http://www.jsdelivr.com/). The loading will be faster and the plugin size will be smaller. 34 | 35 | ## v1.2.0 (4.0.x - 4.3.x) 36 | 37 | * [FIX] : fix problem of external files loading 38 | * [IMPROVEMENT] : load external files only once 39 | * [FEATURE] : tab size settings 40 | * [FIX] : added CKEditor ACF to parse already saved code 41 | 42 | ## v1.1.0 (4.0.x - 4.1.x) 43 | 44 | * [FEATURE] : added several syntax highlighters (Prism.js, Highlight.js, SyntaxHighlighter.js) 45 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/forms/dialogs/hiddenfield.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.dialog.add("hiddenfield",function(c){return{title:c.lang.forms.hidden.title,hiddenField:null,minWidth:350,minHeight:110,getModel:function(a){return(a=a.getSelection().getSelectedElement())&&a.data("cke-real-element-type")&&"hiddenfield"==a.data("cke-real-element-type")?a:null},onShow:function(){var a=this.getParentEditor(),b=this.getModel(a);b&&(this.setupContent(a.restoreRealElement(b)),a.getSelection().selectElement(b))},onOk:function(){var a=this.getValueOf("info","_cke_saved_name"),b= 6 | this.getParentEditor(),a=CKEDITOR.env.ie&&8>CKEDITOR.document.$.documentMode?b.document.createElement('\x3cinput name\x3d"'+CKEDITOR.tools.htmlEncode(a)+'"\x3e'):b.document.createElement("input");a.setAttribute("type","hidden");this.commitContent(a);var a=b.createFakeElement(a,"cke_hidden","hiddenfield"),c=this.getModel(b);c?(a.replace(c),b.getSelection().selectElement(a)):b.insertElement(a);return!0},contents:[{id:"info",label:c.lang.forms.hidden.title,title:c.lang.forms.hidden.title,elements:[{id:"_cke_saved_name", 7 | type:"text",label:c.lang.forms.hidden.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.setAttribute("name",this.getValue()):a.removeAttribute("name")}},{id:"value",type:"text",label:c.lang.forms.hidden.value,"default":"",accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}}]}]}}); -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/copyformatting/styles/copyformatting.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | 6 | html.cke_copyformatting_active { 7 | min-height: 100%; 8 | } 9 | 10 | /* There is no cursor in CUR format for IE/Edge as that browser 11 | does not support custom cursor in [contenteditable] area. 12 | Ticket for this issue: 13 | https://connect.microsoft.com/IE/feedback/details/1070215/cant-change-cursor-in-contenteditable-using-css */ 14 | .cke_copyformatting_disabled, 15 | .cke_copyformatting_disabled a, 16 | .cke_copyformatting_disabled .cke_editable { 17 | cursor: url(../cursors/cursor-disabled.svg) 12 1, auto; 18 | } 19 | 20 | .cke_copyformatting_disabled .cke_top a, 21 | .cke_copyformatting_disabled .cke_bottom a { 22 | cursor: default; 23 | } 24 | 25 | /* Added `!important` rule as a fix for overriding the cursor by the Table Resize plugin. 26 | The `!important` rule is used because the Table Resize plugin creates a `
` which changes the cursor using inlined styles. */ 27 | .cke_copyformatting_active, 28 | .cke_copyformatting_active.cke_editable, 29 | .cke_copyformatting_active .cke_editable, 30 | .cke_copyformatting_active a, 31 | .cke_copyformatting_active table, 32 | .cke_copyformatting_active div[data-cke-temp], 33 | .cke_copyformatting_tableresize_cursor div[data-cke-temp] { 34 | cursor: url(../cursors/cursor.svg) 12 1, auto !important; 35 | } 36 | 37 | .cke_screen_reader_only { 38 | position: absolute; 39 | clip: rect(1px, 1px, 1px, 1px); 40 | padding: 0; 41 | border: 0; 42 | height: 1px; 43 | width: 1px; 44 | overflow: hidden; 45 | } 46 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/assets/posteddata.php: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | Sample — CKEditor 12 | 13 | 14 | 15 |

16 | CKEditor — Posted Data 17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | $value ) 31 | { 32 | if ( ( !is_string($value) && !is_numeric($value) ) || !is_string($key) ) 33 | continue; 34 | 35 | if ( get_magic_quotes_gpc() ) 36 | $value = htmlspecialchars( stripslashes((string)$value) ); 37 | else 38 | $value = htmlspecialchars( (string)$value ); 39 | ?> 40 | 41 | 42 | 43 | 44 | 48 |
Field NameValue
49 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/font/fontello.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Copyright (C) 2014 by original authors @ fontello.com 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/LayoutComponents/Explorer/actions/Delete.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import { Alert } from "@blueprintjs/core"; 3 | import StorageManager from "../../../Storage/storageManager"; 4 | 5 | interface RenameFileState { 6 | isOpen: boolean; 7 | selected: string; 8 | selectedIsDirectory: boolean; 9 | } 10 | interface RenameFileProps { 11 | selectedIsDirectory: boolean; 12 | isOpen: boolean; 13 | selected: string; 14 | onClose: (success: boolean) => void; 15 | } 16 | 17 | class DeleteFile extends Component { 18 | storage: typeof StorageManager; 19 | constructor(props: RenameFileProps) { 20 | super(props); 21 | this.storage = StorageManager; 22 | this.state = { 23 | isOpen: props.isOpen, 24 | selected: props.selected, 25 | selectedIsDirectory: props.selectedIsDirectory 26 | }; 27 | } 28 | DELETE = () => { 29 | if (this.state.selectedIsDirectory) { 30 | this.storage.removeDocumentDirectory(this.state.selected).then(() => { 31 | this.props.onClose(true); 32 | }); 33 | } else { 34 | this.storage.removeDocument(this.state.selected).then(() => { 35 | this.props.onClose(true); 36 | }); 37 | } 38 | }; 39 | render() { 40 | return ( 41 | this.props.onClose(false)} 49 | onConfirm={this.DELETE} 50 | > 51 |

Are you sure you want to delete file? this action is permanent

52 |
53 | ); 54 | } 55 | } 56 | 57 | export default DeleteFile; 58 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/link/dialogs/anchor.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.dialog.add("anchor",function(c){function d(b,a){return b.createFakeElement(b.document.createElement("a",{attributes:a}),"cke_anchor","anchor")}return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,getModel:function(b){var a=b.getSelection();b=a.getRanges()[0];a=a.getSelectedElement();b.shrink(CKEDITOR.SHRINK_ELEMENT);(a=b.getEnclosedNode())&&a.type===CKEDITOR.NODE_TEXT&&(a=a.getParent());b=a&&a.type===CKEDITOR.NODE_ELEMENT&&("anchor"===a.data("cke-real-element-type")||a.is("a"))? 6 | a:void 0;return b||null},onOk:function(){var b=CKEDITOR.tools.trim(this.getValueOf("info","txtName")),b={id:b,name:b,"data-cke-saved-name":b},a=this.getModel(c);a?a.data("cke-realelement")?(b=d(c,b),b.replace(a),CKEDITOR.env.ie&&c.getSelection().selectElement(b)):a.setAttributes(b):(a=(a=c.getSelection())&&a.getRanges()[0],a.collapsed?(b=d(c,b),a.insertNode(b)):(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(b["class"]="cke_anchor"),b=new CKEDITOR.style({element:"a",attributes:b}),b.type=CKEDITOR.STYLE_INLINE, 7 | b.applyToRange(a)))},onShow:function(){var b=c.getSelection(),a=this.getModel(c),d=a&&a.data("cke-realelement");if(a=d?CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,a):CKEDITOR.plugins.link.getSelectedLink(c)){var e=a.data("cke-saved-name");this.setValueOf("info","txtName",e||"");!d&&b.selectElement(a)}this.getContentElement("info","txtName").focus()},contents:[{id:"info",label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){return this.getValue()? 8 | !0:(alert(c.lang.link.anchor.errorName),!1)}}]}]}}); -------------------------------------------------------------------------------- /src/Storage/filesystems/browserFS.ts: -------------------------------------------------------------------------------- 1 | import * as BrowserFS from "browserfs"; 2 | import { 3 | codeDir, 4 | configDir, 5 | editorDataDir, 6 | secretDir, 7 | } from "../storageManager"; 8 | import { FileSystem } from "browserfs/dist/node/core/file_system"; 9 | 10 | const createFileSystem = ( 11 | fileSystem: keyof typeof BrowserFS.FileSystem, 12 | args: any = {} 13 | ) => { 14 | return new Promise((resolve, reject) => { 15 | BrowserFS.FileSystem[fileSystem].Create(args, (e, dir) => { 16 | if (e) { 17 | reject(e); 18 | return; 19 | } 20 | if (dir) { 21 | resolve(dir); 22 | } else { 23 | reject(new Error("FS return null")); 24 | } 25 | }); 26 | }); 27 | }; 28 | 29 | export default async (): Promise => { 30 | const [ 31 | code, 32 | editorData, 33 | codeMemory, 34 | editorDataMemory, 35 | encriptedData, 36 | configData, 37 | ] = await Promise.all([ 38 | createFileSystem("HTML5FS"), 39 | createFileSystem("IndexedDB"), 40 | createFileSystem("InMemory"), 41 | createFileSystem("InMemory"), 42 | createFileSystem("LocalStorage"), 43 | createFileSystem("LocalStorage"), 44 | ]); 45 | const [AsyncMirrorCode, AsyncMirrorEditorData] = await Promise.all([ 46 | createFileSystem("AsyncMirror", { sync: codeMemory, async: code }), 47 | createFileSystem("AsyncMirror", { 48 | sync: editorDataMemory, 49 | async: editorData, 50 | }), 51 | ]); 52 | const fs = await createFileSystem("MountableFileSystem", { 53 | [codeDir]: AsyncMirrorCode, 54 | [editorDataDir]: AsyncMirrorEditorData, 55 | [secretDir]: encriptedData, 56 | [configDir]: configData, 57 | }); 58 | BrowserFS.initialize(fs); 59 | BrowserFS.install(window); 60 | return fs; 61 | }; 62 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/js/sample.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | 6 | /* exported initSample */ 7 | 8 | if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) 9 | CKEDITOR.tools.enableHtml5Elements( document ); 10 | 11 | // The trick to keep the editor in the sample quite small 12 | // unless user specified own height. 13 | CKEDITOR.config.height = 150; 14 | CKEDITOR.config.width = 'auto'; 15 | 16 | var initSample = ( function() { 17 | var wysiwygareaAvailable = isWysiwygareaAvailable(), 18 | isBBCodeBuiltIn = !!CKEDITOR.plugins.get( 'bbcode' ); 19 | 20 | return function() { 21 | var editorElement = CKEDITOR.document.getById( 'editor' ); 22 | 23 | // :((( 24 | if ( isBBCodeBuiltIn ) { 25 | editorElement.setHtml( 26 | 'Hello world!\n\n' + 27 | 'I\'m an instance of [url=https://ckeditor.com]CKEditor[/url].' 28 | ); 29 | } 30 | 31 | // Depending on the wysiwygarea plugin availability initialize classic or inline editor. 32 | if ( wysiwygareaAvailable ) { 33 | CKEDITOR.replace( 'editor' ); 34 | } else { 35 | editorElement.setAttribute( 'contenteditable', 'true' ); 36 | CKEDITOR.inline( 'editor' ); 37 | 38 | // TODO we can consider displaying some info box that 39 | // without wysiwygarea the classic editor may not work. 40 | } 41 | }; 42 | 43 | function isWysiwygareaAvailable() { 44 | // If in development mode, then the wysiwygarea must be available. 45 | // Split REV into two strings so builder does not replace it :D. 46 | if ( CKEDITOR.revision == ( '%RE' + 'V%' ) ) { 47 | return true; 48 | } 49 | 50 | return !!CKEDITOR.plugins.get( 'wysiwygarea' ); 51 | } 52 | } )(); 53 | 54 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/about/dialogs/about.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.dialog.add("about",function(a){a=a.lang.about;var b=CKEDITOR.getUrl(CKEDITOR.plugins.get("about").path+"dialogs/"+(CKEDITOR.env.hidpi?"hidpi/":"")+"logo_ckeditor.png");return{title:a.dlgTitle,minWidth:390,minHeight:210,contents:[{id:"tab1",label:"",title:"",expand:!0,padding:0,elements:[{type:"html",html:'\x3cstyle type\x3d"text/css"\x3e.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url('+ 6 | b+");"+(CKEDITOR.env.hidpi?"background-size:194px 58px;":"")+'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}.cke_about_container \x3e p,.cke_rtl .cke_about_container \x3e p{text-align:center;}\x3c/style\x3e\x3cdiv class\x3d"cke_about_container"\x3e\x3cdiv class\x3d"cke_about_logo"\x3e\x3c/div\x3e\x3cp\x3eCKEditor '+CKEDITOR.version+" (revision "+CKEDITOR.revision+ 7 | ')\x3cbr\x3e\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://ckeditor.com/"\x3ehttps://ckeditor.com\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+a.moreInfo+'\x3cbr\x3e\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://ckeditor.com/legal/ckeditor-oss-license/"\x3ehttps://ckeditor.com/legal/ckeditor-oss-license/\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+a.copy.replace("$1",'\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://cksource.com/"\x3eCKSource\x3c/a\x3e - Frederico Knabben')+ 8 | "\x3c/p\x3e\x3c/div\x3e"}]}],buttons:[CKEDITOR.dialog.cancelButton]}}); -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/forms/dialogs/button.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.dialog.add("button",function(b){function d(a){var b=this.getValue();b?(a.attributes[this.id]=b,"name"==this.id&&(a.attributes["data-cke-saved-name"]=b)):(delete a.attributes[this.id],"name"==this.id&&delete a.attributes["data-cke-saved-name"])}return{title:b.lang.forms.button.title,minWidth:350,minHeight:150,getModel:function(a){return(a=a.getSelection().getSelectedElement())&&a.is("input")&&a.getAttribute("type")in{button:1,reset:1,submit:1}?a:null},onShow:function(){var a=this.getModel(this.getParentEditor()); 6 | a&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor(),b=this.getModel(a),d=this.getMode(a)==CKEDITOR.dialog.CREATION_MODE,c=b?CKEDITOR.htmlParser.fragment.fromHtml(b.getOuterHtml()).children[0]:new CKEDITOR.htmlParser.element("input");this.commitContent(c);var e=new CKEDITOR.htmlParser.basicWriter;c.writeHtml(e);c=CKEDITOR.dom.element.createFromHtml(e.getHtml(),a.document);d?a.insertElement(c):(c.replace(b),a.getSelection().selectElement(c))},contents:[{id:"info",label:b.lang.forms.button.title, 7 | title:b.lang.forms.button.title,elements:[{id:"name",type:"text",bidi:!0,label:b.lang.common.name,"default":"",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:d},{id:"value",type:"text",label:b.lang.forms.button.text,accessKey:"V","default":"",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:d},{id:"type",type:"select",label:b.lang.forms.button.type,"default":"button",accessKey:"T",items:[[b.lang.forms.button.typeBtn,"button"],[b.lang.forms.button.typeSbm, 8 | "submit"],[b.lang.forms.button.typeRst,"reset"]],setup:function(a){this.setValue(a.getAttribute("type")||"")},commit:d}]}]}}); -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/old/sample.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | 6 | // Tool scripts for the sample pages. 7 | // This file can be ignored and is not required to make use of CKEditor. 8 | 9 | ( function() { 10 | CKEDITOR.on( 'instanceReady', function( ev ) { 11 | // Check for sample compliance. 12 | var editor = ev.editor, 13 | meta = CKEDITOR.document.$.getElementsByName( 'ckeditor-sample-required-plugins' ), 14 | requires = meta.length ? CKEDITOR.dom.element.get( meta[ 0 ] ).getAttribute( 'content' ).split( ',' ) : [], 15 | missing = [], 16 | i; 17 | 18 | if ( requires.length ) { 19 | for ( i = 0; i < requires.length; i++ ) { 20 | if ( !editor.plugins[ requires[ i ] ] ) 21 | missing.push( '' + requires[ i ] + '' ); 22 | } 23 | 24 | if ( missing.length ) { 25 | var warn = CKEDITOR.dom.element.createFromHtml( 26 | '
' + 27 | 'To fully experience this demo, the ' + missing.join( ', ' ) + ' plugin' + ( missing.length > 1 ? 's are' : ' is' ) + ' required.' + 28 | '
' 29 | ); 30 | warn.insertBefore( editor.container ); 31 | } 32 | } 33 | 34 | // Set icons. 35 | var doc = new CKEDITOR.dom.document( document ), 36 | icons = doc.find( '.button_icon' ); 37 | 38 | for ( i = 0; i < icons.count(); i++ ) { 39 | var icon = icons.getItem( i ), 40 | name = icon.getAttribute( 'data-icon' ), 41 | style = CKEDITOR.skin.getIconStyle( name, ( CKEDITOR.lang.dir == 'rtl' ) ); 42 | 43 | icon.addClass( 'cke_button_icon' ); 44 | icon.addClass( 'cke_button__' + name + '_icon' ); 45 | icon.setAttribute( 'style', style ); 46 | icon.setStyle( 'float', 'none' ); 47 | 48 | } 49 | } ); 50 | } )(); 51 | -------------------------------------------------------------------------------- /src/LayoutComponents/apps/appStorage.ts: -------------------------------------------------------------------------------- 1 | import StorageManager, { configDir } from "../../Storage/storageManager"; 2 | import { Permissions } from "./appView/app"; 3 | 4 | const storage = StorageManager; 5 | 6 | export interface app { 7 | name: string; 8 | appID: string; 9 | type: appTypes; 10 | url: string; 11 | permissions: Permissions; 12 | iconUrl?: string; 13 | } 14 | export type appTypes = "app" | "service" | "editor"; 15 | export const appsLocation = "installedApps.json"; 16 | 17 | export const defualtApps: app[] = [ 18 | { 19 | name: "message test", 20 | iconUrl: "https://img.icons8.com/flat_round/50/000000/read-message.png", 21 | permissions: { message: true }, 22 | type: "app", 23 | url: "./apps/messageTest.html", 24 | appID: "com.mesgtest.nnp" 25 | }, 26 | { 27 | name: "dummy image gen", 28 | iconUrl: "https://img.icons8.com/nolan/64/000000/sign-up.png", 29 | permissions: { message: true, write: true }, 30 | type: "app", 31 | url: "./apps/dummy.html", 32 | appID: "com.dummygen.nnp" 33 | }, 34 | { 35 | name: "GAME", 36 | iconUrl: "https://img.icons8.com/doodle/48/000000/controller--v1.png", 37 | permissions: {}, 38 | type: "app", 39 | url: "./apps/game.html", 40 | appID: "com.testgame.nnp" 41 | }, 42 | { 43 | name: "service message test", 44 | iconUrl: "https://img.icons8.com/carbon-copy/50/000000/service.png", 45 | permissions: { message: true }, 46 | type: "service", 47 | url: "./apps/messageTest.js", 48 | appID: "com.servicemesgtest.nnp" 49 | } 50 | ]; 51 | 52 | export const getInstalledApps: () => app[] = () => { 53 | return JSON.parse( 54 | storage.syncGetFile(appsLocation, configDir, JSON.stringify([])) 55 | ).concat(defualtApps); 56 | }; 57 | export const addApp = (app: app) => { 58 | let apps = getInstalledApps(); 59 | apps.push(app); 60 | storage.setFile(appsLocation, JSON.stringify(apps), configDir); 61 | }; 62 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/templates/templates/default.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.addTemplates("default",{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath("templates")+"templates/images/"),templates:[{title:"Image and Title",image:"template1.gif",description:"One main image with a title and text that surround the image.",html:'\x3ch3\x3e\x3cimg src\x3d" " alt\x3d"" style\x3d"margin-right: 10px" height\x3d"100" width\x3d"100" align\x3d"left" /\x3eType the title here\x3c/h3\x3e\x3cp\x3eType the text here\x3c/p\x3e'},{title:"Strange Template",image:"template2.gif",description:"A template that defines two columns, each one with a title, and some text.", 6 | html:'\x3ctable cellspacing\x3d"0" cellpadding\x3d"0" style\x3d"width:100%" border\x3d"0"\x3e\x3ctr\x3e\x3ctd style\x3d"width:50%"\x3e\x3ch3\x3eTitle 1\x3c/h3\x3e\x3c/td\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd style\x3d"width:50%"\x3e\x3ch3\x3eTitle 2\x3c/h3\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3eText 1\x3c/td\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd\x3eText 2\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3cp\x3eMore text goes here.\x3c/p\x3e'},{title:"Text and Table",image:"template3.gif",description:"A title with some text and a table.", 7 | html:'\x3cdiv style\x3d"width: 80%"\x3e\x3ch3\x3eTitle goes here\x3c/h3\x3e\x3ctable style\x3d"width:150px;float: right" cellspacing\x3d"0" cellpadding\x3d"0" border\x3d"1"\x3e\x3ccaption style\x3d"border:solid 1px black"\x3e\x3cstrong\x3eTable title\x3c/strong\x3e\x3c/caption\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3cp\x3eType the text here\x3c/p\x3e\x3c/div\x3e'}]}); -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/templates/dialogs/templates.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | 6 | .cke_tpl_list 7 | { 8 | border: #dcdcdc 2px solid; 9 | background-color: #ffffff; 10 | overflow-y: auto; 11 | overflow-x: hidden; 12 | width: 100%; 13 | height: 220px; 14 | } 15 | 16 | .cke_tpl_item 17 | { 18 | margin: 5px; 19 | padding: 7px; 20 | border: #eeeeee 1px solid; 21 | *width: 88%; 22 | } 23 | 24 | .cke_tpl_preview 25 | { 26 | border-collapse: separate; 27 | text-indent:0; 28 | width: 100%; 29 | } 30 | .cke_tpl_preview td 31 | { 32 | padding: 2px; 33 | vertical-align: middle; 34 | } 35 | .cke_tpl_preview .cke_tpl_preview_img 36 | { 37 | width: 100px; 38 | } 39 | .cke_tpl_preview span 40 | { 41 | white-space: normal; 42 | } 43 | 44 | .cke_tpl_title 45 | { 46 | font-weight: bold; 47 | } 48 | 49 | .cke_tpl_list a:hover .cke_tpl_item, 50 | .cke_tpl_list a:focus .cke_tpl_item, 51 | .cke_tpl_list a:active .cke_tpl_item 52 | { 53 | border: #ff9933 1px solid; 54 | background-color: #fffacd; 55 | } 56 | 57 | .cke_tpl_list a:hover *, 58 | .cke_tpl_list a:focus *, 59 | .cke_tpl_list a:active * 60 | { 61 | cursor: pointer; 62 | } 63 | 64 | /* IE Quirks contextual selectors children will not get :hover transition until 65 | the hover style of the link itself contains certain CSS declarations. */ 66 | .cke_browser_quirks .cke_tpl_list a:active, 67 | .cke_browser_quirks .cke_tpl_list a:hover, 68 | .cke_browser_quirks .cke_tpl_list a:focus 69 | { 70 | background-position: 0 0; 71 | } 72 | 73 | .cke_hc .cke_tpl_list a:hover .cke_tpl_item, 74 | .cke_hc .cke_tpl_list a:focus .cke_tpl_item, 75 | .cke_hc .cke_tpl_list a:active .cke_tpl_item 76 | { 77 | border-width: 3px; 78 | } 79 | 80 | .cke_tpl_empty, .cke_tpl_loading 81 | { 82 | text-align: center; 83 | padding: 5px; 84 | } 85 | -------------------------------------------------------------------------------- /public/code/ckeditor4/samples/toolbarconfigurator/css/fontello.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'fontello'; 3 | src: url('../font/fontello.eot?89024372'); 4 | src: url('../font/fontello.eot?89024372#iefix') format('embedded-opentype'), 5 | url('../font/fontello.woff?89024372') format('woff'), 6 | url('../font/fontello.ttf?89024372') format('truetype'), 7 | url('../font/fontello.svg?89024372#fontello') format('svg'); 8 | font-weight: normal; 9 | font-style: normal; 10 | } 11 | /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ 12 | /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ 13 | /* 14 | @media screen and (-webkit-min-device-pixel-ratio:0) { 15 | @font-face { 16 | font-family: 'fontello'; 17 | src: url('../font/fontello.svg?89024372#fontello') format('svg'); 18 | } 19 | } 20 | */ 21 | 22 | [class^="icon-"]:before, [class*=" icon-"]:before { 23 | font-family: "fontello"; 24 | font-style: normal; 25 | font-weight: normal; 26 | speak: none; 27 | 28 | display: inline-block; 29 | text-decoration: inherit; 30 | width: 1em; 31 | margin-right: .2em; 32 | text-align: center; 33 | /* opacity: .8; */ 34 | 35 | /* For safety - reset parent styles, that can break glyph codes*/ 36 | font-variant: normal; 37 | text-transform: none; 38 | 39 | /* fix buttons height, for twitter bootstrap */ 40 | line-height: 1em; 41 | 42 | /* Animation center compensation - margins should be symmetric */ 43 | /* remove if not needed */ 44 | margin-left: .2em; 45 | 46 | /* you can be more comfortable with increased icons size */ 47 | /* font-size: 120%; */ 48 | 49 | /* Uncomment for 3D effect */ 50 | /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ 51 | } 52 | 53 | .icon-trash:before { content: '\e802'; } /* '' */ 54 | .icon-down-big:before { content: '\e800'; } /* '' */ 55 | .icon-up-big:before { content: '\e801'; } /* '' */ 56 | -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Blockly_Editor/blockly_files_editors/html/tag/code_gen.js: -------------------------------------------------------------------------------- 1 | const makeBlockCode = block => { 2 | const TagName = block.name; 3 | const attribute = "attribute_input"; 4 | const body = "tag_body_input"; 5 | const haveMetadata = block.hasOwnProperty("metadata"); 6 | const nextStatement = "nextStatement"; 7 | const attributeExist = 8 | haveMetadata && block.metadata.hasOwnProperty("noAttributes") 9 | ? !block.metadata.noAttributes 10 | : true; 11 | const bodyExist = 12 | haveMetadata && block.metadata.hasOwnProperty("noBody") 13 | ? !block.metadata.noBody 14 | : true; 15 | const notLast = 16 | haveMetadata && block.metadata.hasOwnProperty("last") 17 | ? !block.metadata.last 18 | : true; 19 | const useAngleBrackets = 20 | haveMetadata && block.metadata.hasOwnProperty("useAngleBrackets") 21 | ? block.metadata.useAngleBrackets 22 | : true; 23 | const inLineValue = 24 | haveMetadata && block.metadata.hasOwnProperty("inLineValue") 25 | ? block.metadata.inLineValue 26 | : false; 27 | 28 | let statement_inputs = []; 29 | if (attributeExist) statement_inputs.push(attribute); 30 | if (bodyExist) statement_inputs.push(body); 31 | return { 32 | name: TagName, 33 | blockText: 34 | (useAngleBrackets ? "<" : "") + 35 | (block.metadata.openTag || TagName) + 36 | (attributeExist ? "%" + attribute + "%" : "") + 37 | (bodyExist 38 | ? (useAngleBrackets ? ">" : "") + 39 | (!inLineValue ? "\n" : "") + 40 | "%" + 41 | body + 42 | "%" + 43 | (!inLineValue ? "\n" : "") + 44 | (useAngleBrackets ? "" : "") 47 | : ">") + 48 | (notLast ? "%" + nextStatement + "%" : ""), 49 | statement_inputs: statement_inputs, 50 | value_inputs: [], 51 | field_values: [], 52 | nextStatement: { exist: notLast, str: nextStatement } 53 | }; 54 | }; 55 | export default makeBlockCode; 56 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/forms/dialogs/form.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.dialog.add("form",function(a){var d={action:1,id:1,method:1,enctype:1,target:1};return{title:a.lang.forms.form.title,minWidth:350,minHeight:200,getModel:function(b){return b.elementPath().contains("form",1)||null},onShow:function(){var b=this.getModel(this.getParentEditor());b&&this.setupContent(b)},onOk:function(){var b=this.getParentEditor(),a=this.getModel(b);a||(a=b.document.createElement("form"),a.appendBogus(),b.insertElement(a));this.commitContent(a)},onLoad:function(){function a(b){this.setValue(b.getAttribute(this.id)|| 6 | "")}function e(a){this.getValue()?a.setAttribute(this.id,this.getValue()):a.removeAttribute(this.id)}this.foreach(function(c){d[c.id]&&(c.setup=a,c.commit=e)})},contents:[{id:"info",label:a.lang.forms.form.title,title:a.lang.forms.form.title,elements:[{id:"txtName",bidi:!0,type:"text",label:a.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()): 7 | (a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"action",type:"text",label:a.lang.forms.form.action,"default":"",accessKey:"T"},{type:"hbox",widths:["45%","55%"],children:[{id:"id",type:"text",label:a.lang.common.id,"default":"",accessKey:"I"},{id:"enctype",type:"select",label:a.lang.forms.form.encoding,style:"width:100%",accessKey:"E","default":"",items:[[""],["text/plain"],["multipart/form-data"],["application/x-www-form-urlencoded"]]}]},{type:"hbox",widths:["45%","55%"],children:[{id:"target", 8 | type:"select",label:a.lang.common.target,style:"width:100%",accessKey:"M","default":"",items:[[a.lang.common.notSet,""],[a.lang.common.targetNew,"_blank"],[a.lang.common.targetTop,"_top"],[a.lang.common.targetSelf,"_self"],[a.lang.common.targetParent,"_parent"]]},{id:"method",type:"select",label:a.lang.forms.form.method,accessKey:"M","default":"GET",items:[["GET","get"],["POST","post"]]}]}]}]}}); -------------------------------------------------------------------------------- /src/Editor/Code_Editors/Json_View/Json_View.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import CodeEditor from "../../CodeEditor"; 3 | import ReactJson from "react-json-view"; 4 | import { 5 | Navbar, 6 | NavbarGroup, 7 | NumericInput, 8 | ControlGroup, 9 | Alignment, 10 | Tag 11 | } from "@blueprintjs/core"; 12 | 13 | export default class JsonView extends CodeEditor { 14 | constructor(props) { 15 | super(props); 16 | this.state = { ...this.state, fontSize: 15 }; 17 | } 18 | componentDidMount = () => { 19 | this.setState({ editor: "JsonView" }); 20 | }; 21 | componentWillUnmount = () => { 22 | this.saveEditorDataFromState(); 23 | }; 24 | updateCode = e => { 25 | const newCode = JSON.stringify(e.updated_src); 26 | this.setState({ 27 | code: newCode 28 | }); 29 | this.updateDocument(newCode); 30 | }; 31 | makeJSON(code) { 32 | try { 33 | return JSON.parse(code); 34 | } catch { 35 | return { name: this.state.documentName }; 36 | } 37 | } 38 | render() { 39 | const code = this.makeJSON(this.state.code); 40 | return ( 41 | <> 42 | 43 | 44 | 45 | Font size 46 | { 49 | this.setState({ 50 | fontSize: v 51 | }); 52 | }} 53 | selectAllOnFocus 54 | allowNumericCharactersOnly 55 | placeholder="font size" 56 | > 57 | 58 | 59 | 60 | 69 | 70 | ); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/ConsoleApps/git.ts: -------------------------------------------------------------------------------- 1 | import GIT_API from "../APIS/git/git"; 2 | import { codeDir } from "../Storage/storageManager"; 3 | import { 4 | consoleControls, 5 | startObject 6 | } from "../LayoutComponents/console/terminal"; 7 | import { makeIcon } from "./terminalComponents"; 8 | const gitAPI = new GIT_API(); 9 | export default ( 10 | startObject: startObject, 11 | out: (output: string) => void, 12 | consoleControls: consoleControls 13 | ) => { 14 | if (startObject.fullArgs.length < 0) { 15 | out(help); 16 | } else { 17 | switch (startObject.fullArgs[0]) { 18 | case "clone": { 19 | if (startObject.strings.length >= 2) { 20 | out("cloning start"); 21 | consoleControls.setAllowInput(false); 22 | gitAPI 23 | .clone( 24 | codeDir + startObject.location + startObject.strings[0], 25 | startObject.strings[1] 26 | ) 27 | .then(v => { 28 | consoleControls.setAllowInput(true); 29 | out("clone finished"); 30 | }) 31 | .catch(e => { 32 | out( 33 | makeIcon("error") + " cloning falid with error code : " + e.code 34 | ); 35 | consoleControls.setAllowInput(true); 36 | }); 37 | out( 38 | makeIcon("warning-sign") + 39 | " remember to reload the file browser to see changes" 40 | ); 41 | } else if (startObject.strings.length >= 1) { 42 | gitAPI.clone(codeDir + startObject.location, startObject.strings[0]); 43 | out( 44 | makeIcon("warning-sign") + 45 | " remember to reload the file browser to see changes" 46 | ); 47 | } else { 48 | out(help); 49 | } 50 | break; 51 | } 52 | default: { 53 | out(help); 54 | } 55 | } 56 | } 57 | }; 58 | const help = ` 59 | clone -- clone git reposetory 60 | exmple : git clone "./cloneFolder/" "https://github.com/facebook/react" -> clone react to cloneFolder 61 | exmple : git clone "https://github.com/facebook/react" -> clone react to current folder 62 | 63 | `; 64 | -------------------------------------------------------------------------------- /src/ConsoleApps/actions/ChangeLocation.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import StorageManager, { codeDir } from "../../Storage/storageManager"; 3 | import { 4 | Dialog, 5 | InputGroup, 6 | Card, 7 | Elevation, 8 | H6, 9 | Divider 10 | } from "@blueprintjs/core"; 11 | 12 | interface RenameFileState { 13 | isOpen: boolean; 14 | currentLocation: string; 15 | } 16 | interface RenameFileProps { 17 | isOpen: boolean; 18 | currentLocation: string; 19 | onClose: () => void; 20 | updateLocation: (newLocation: string) => void; 21 | } 22 | 23 | class RenameFile extends Component { 24 | storage: typeof StorageManager; 25 | constructor(props: RenameFileProps) { 26 | super(props); 27 | this.storage = StorageManager; 28 | this.state = { 29 | isOpen: props.isOpen, 30 | currentLocation: props.currentLocation 31 | }; 32 | } 33 | Rename = () => { 34 | const location = this.state.currentLocation; 35 | const exist = this.storage.syncExists(location, codeDir); 36 | if (exist) { 37 | this.props.updateLocation(location); 38 | this.props.onClose(); 39 | } 40 | }; 41 | onKey = (e: React.KeyboardEvent) => { 42 | if (e.keyCode === 13) { 43 | this.Rename(); 44 | } 45 | }; 46 | render() { 47 | return ( 48 | 54 | ) => { 62 | this.setState({ currentLocation: e.target.value }); 63 | }} 64 | > 65 | 66 | 67 |
click enter to update location or escape to cancel
68 |
69 |
70 | ); 71 | } 72 | } 73 | 74 | export default RenameFile; 75 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/pastefromgdocs/filter/default.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | (function(){function g(b){return""===b?!1:b}function h(b){if(!/(o|u)l/i.test(b.parent.name))return b;d.elements.replaceWithChildren(b);return!1}function k(b){function d(a,f){var b,c;if(a&&"tr"===a.name){b=a.children;for(c=0;c { 21 | editorOptions?: editorOptions; 22 | storage: typeof StorageManager; 23 | constructor(props: CodeEditorProps) { 24 | super(props); 25 | this.storage = StorageManager; 26 | const editorData = this.storage.syncGetDocument(props.documentName); 27 | this.state = { 28 | language: props.language, 29 | editor: editorData.editorData.editor, 30 | documentName: props.documentName, 31 | code: editorData.code, 32 | editorData: editorData.editorData.editorData 33 | }; 34 | } 35 | 36 | registerOptions = (opt: editorOptions) => { 37 | if (opt.saveHotky) { 38 | hotkeys("ctrl+s", event => { 39 | event.preventDefault(); 40 | this.saveEditorDataFromState(); 41 | }); 42 | } 43 | }; 44 | 45 | saveEditorDataFromState() { 46 | this.storage.updateFile(this.state.documentName, this.state.code, { 47 | editor: this.state.editor, 48 | editorData: this.state.editorData 49 | }); 50 | } 51 | updateDocument = ( 52 | code?: string, 53 | editorData?: { editorData: string; editor: string } 54 | ) => { 55 | this.storage.updateFile(this.state.documentName, code, editorData); 56 | }; 57 | saveEditorData(code: string, editorData: string) { 58 | let editorDataObject; 59 | if (editorData) { 60 | editorDataObject = { editor: this.state.editor, editorData: editorData }; 61 | } 62 | this.storage.updateFile(this.state.documentName, code, editorDataObject); 63 | } 64 | } 65 | 66 | export default CodeEditor; 67 | 68 | export const Toster = Toaster.create({ 69 | className: "recipe-toaster", 70 | position: Position.BOTTOM, 71 | maxToasts: 5 72 | }); 73 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/forms/dialogs/textarea.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.dialog.add("textarea",function(b){return{title:b.lang.forms.textarea.title,minWidth:350,minHeight:220,getModel:function(a){return(a=a.getSelection().getSelectedElement())&&"textarea"==a.getName()?a:null},onShow:function(){var a=this.getModel(this.getParentEditor());a&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor(),b=this.getModel(a),c=this.getMode(a)==CKEDITOR.dialog.CREATION_MODE;c&&(b=a.document.createElement("textarea"));this.commitContent(b);c&&a.insertElement(b)}, 6 | contents:[{id:"info",label:b.lang.forms.textarea.title,title:b.lang.forms.textarea.title,elements:[{id:"_cke_saved_name",type:"text",label:b.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{type:"hbox",widths:["50%","50%"],children:[{id:"cols",type:"text",label:b.lang.forms.textarea.cols, 7 | "default":"",accessKey:"C",style:"width:50px",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed),setup:function(a){a=a.hasAttribute("cols")&&a.getAttribute("cols");this.setValue(a||"")},commit:function(a){this.getValue()?a.setAttribute("cols",this.getValue()):a.removeAttribute("cols")}},{id:"rows",type:"text",label:b.lang.forms.textarea.rows,"default":"",accessKey:"R",style:"width:50px",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed),setup:function(a){a= 8 | a.hasAttribute("rows")&&a.getAttribute("rows");this.setValue(a||"")},commit:function(a){this.getValue()?a.setAttribute("rows",this.getValue()):a.removeAttribute("rows")}}]},{id:"value",type:"textarea",label:b.lang.forms.textfield.value,"default":"",setup:function(a){this.setValue(a.$.defaultValue)},commit:function(a){a.$.value=a.$.defaultValue=this.getValue()}},{id:"required",type:"checkbox",label:b.lang.forms.textfield.required,"default":"",accessKey:"Q",value:"required",setup:CKEDITOR.plugins.forms._setupRequiredAttribute, 9 | commit:function(a){this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/forms/dialogs/radio.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.dialog.add("radio",function(c){return{title:c.lang.forms.checkboxAndRadio.radioTitle,minWidth:350,minHeight:140,getModel:function(a){return(a=a.getSelection().getSelectedElement())&&"input"==a.getName()&&"radio"==a.getAttribute("type")?a:null},onShow:function(){var a=this.getModel(this.getParentEditor());a&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor(),b=this.getModel(a);b||(b=a.document.createElement("input"),b.setAttribute("type","radio"),a.insertElement(b));this.commitContent({element:b})}, 6 | contents:[{id:"info",label:c.lang.forms.checkboxAndRadio.radioTitle,title:c.lang.forms.checkboxAndRadio.radioTitle,elements:[{id:"name",type:"text",label:c.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"value",type:"text",label:c.lang.forms.checkboxAndRadio.value,"default":"", 7 | accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){a=a.element;this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}},{id:"checked",type:"checkbox",label:c.lang.forms.checkboxAndRadio.selected,"default":"",accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var b=a.element;if(CKEDITOR.env.ie){var d=b.getAttribute("checked"),e=!!this.getValue();d!=e&&(d=CKEDITOR.dom.element.createFromHtml('\x3cinput type\x3d"radio"'+ 8 | (e?' checked\x3d"checked"':"")+"\x3e\x3c/input\x3e",c.document),b.copyAttributes(d,{type:1,checked:1}),d.replace(b),e&&d.setAttribute("checked","checked"),c.getSelection().selectElement(d),a.element=d)}else a=this.getValue(),CKEDITOR.env.webkit&&(b.$.checked=a),a?b.setAttribute("checked","checked"):b.removeAttribute("checked")}},{id:"required",type:"checkbox",label:c.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:CKEDITOR.plugins.forms._setupRequiredAttribute, 9 | commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/specialchar/dialogs/lang/zh.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.plugins.setLang("specialchar","zh",{euro:"歐元符號",lsquo:"左單引號",rsquo:"右單引號",ldquo:"左雙引號",rdquo:"右雙引號",ndash:"短破折號",mdash:"長破折號",iexcl:"倒置的驚嘆號",cent:"美分符號",pound:"英鎊符號",curren:"貨幣符號",yen:"日圓符號",brvbar:"破折號",sect:"章節符號",uml:"分音符號",copy:"版權符號",ordf:"雌性符號",laquo:"左雙角括號",not:"Not 符號",reg:"註冊商標符號",macr:"長音符號",deg:"度數符號",sup2:"上標字 2",sup3:"上標字 3",acute:"尖音符號",micro:"微",para:"段落符號",middot:"中間點",cedil:"字母 C 下面的尾型符號 ",sup1:"上標",ordm:"雄性符號",raquo:"右雙角括號",frac14:"四分之一符號",frac12:"二分之一符號",frac34:"四分之三符號", 6 | iquest:"倒置的問號",Agrave:"拉丁大寫字母 A 帶抑音符號",Aacute:"拉丁大寫字母 A 帶尖音符號",Acirc:"拉丁大寫字母 A 帶揚抑符",Atilde:"拉丁大寫字母 A 帶波浪號",Auml:"拉丁大寫字母 A 帶分音符號",Aring:"拉丁大寫字母 A 帶上圓圈",AElig:"拉丁大寫字母 Æ",Ccedil:"拉丁大寫字母 C 帶下尾符號",Egrave:"拉丁大寫字母 E 帶抑音符號",Eacute:"拉丁大寫字母 E 帶尖音符號",Ecirc:"拉丁大寫字母 E 帶揚抑符",Euml:"拉丁大寫字母 E 帶分音符號",Igrave:"拉丁大寫字母 I 帶抑音符號",Iacute:"拉丁大寫字母 I 帶尖音符號",Icirc:"拉丁大寫字母 I 帶揚抑符",Iuml:"拉丁大寫字母 I 帶分音符號",ETH:"拉丁大寫字母 Eth",Ntilde:"拉丁大寫字母 N 帶波浪號",Ograve:"拉丁大寫字母 O 帶抑音符號",Oacute:"拉丁大寫字母 O 帶尖音符號",Ocirc:"拉丁大寫字母 O 帶揚抑符",Otilde:"拉丁大寫字母 O 帶波浪號", 7 | Ouml:"拉丁大寫字母 O 帶分音符號",times:"乘號",Oslash:"拉丁大寫字母 O 帶粗線符號",Ugrave:"拉丁大寫字母 U 帶抑音符號",Uacute:"拉丁大寫字母 U 帶尖音符號",Ucirc:"拉丁大寫字母 U 帶揚抑符",Uuml:"拉丁大寫字母 U 帶分音符號",Yacute:"拉丁大寫字母 Y 帶尖音符號",THORN:"拉丁大寫字母 Thorn",szlig:"拉丁小寫字母 s",agrave:"拉丁小寫字母 a 帶抑音符號",aacute:"拉丁小寫字母 a 帶尖音符號",acirc:"拉丁小寫字母 a 帶揚抑符",atilde:"拉丁小寫字母 a 帶波浪號",auml:"拉丁小寫字母 a 帶分音符號",aring:"拉丁小寫字母 a 帶上圓圈",aelig:"拉丁小寫字母 æ",ccedil:"拉丁小寫字母 c 帶下尾符號",egrave:"拉丁小寫字母 e 帶抑音符號",eacute:"拉丁小寫字母 e 帶尖音符號",ecirc:"拉丁小寫字母 e 帶揚抑符",euml:"拉丁小寫字母 e 帶分音符號",igrave:"拉丁小寫字母 i 帶抑音符號", 8 | iacute:"拉丁小寫字母 i 帶尖音符號",icirc:"拉丁小寫字母 i 帶揚抑符",iuml:"拉丁小寫字母 i 帶分音符號",eth:"拉丁小寫字母 eth",ntilde:"拉丁小寫字母 n 帶波浪號",ograve:"拉丁小寫字母 o 帶抑音符號",oacute:"拉丁小寫字母 o 帶尖音符號",ocirc:"拉丁小寫字母 o 帶揚抑符",otilde:"拉丁小寫字母 o 帶波浪號",ouml:"拉丁小寫字母 o 帶分音符號",divide:"除號",oslash:"拉丁小寫字母 o 帶粗線符號",ugrave:"拉丁小寫字母 u 帶抑音符號",uacute:"拉丁小寫字母 u 帶尖音符號",ucirc:"拉丁小寫字母 u 帶揚抑符",uuml:"拉丁小寫字母 u 帶分音符號",yacute:"拉丁小寫字母 y 帶尖音符號",thorn:"拉丁小寫字母 thorn",yuml:"拉丁小寫字母 y 帶分音符號",OElig:"拉丁大寫字母 OE",oelig:"拉丁小寫字母 oe",372:"拉丁大寫字母 W 帶揚抑符",374:"拉丁大寫字母 Y 帶揚抑符",373:"拉丁小寫字母 w 帶揚抑符", 9 | 375:"拉丁小寫字母 y 帶揚抑符",sbquo:"低 9 單引號",8219:"高 9 反轉單引號",bdquo:"低 9 雙引號",hellip:"水平刪節號",trade:"商標符號",9658:"黑色向右指箭號",bull:"項目符號",rarr:"向右箭號",rArr:"向右雙箭號",hArr:"左右雙箭號",diams:"黑鑽套裝",asymp:"約等於"}); -------------------------------------------------------------------------------- /src/ConsoleApps/storage.js: -------------------------------------------------------------------------------- 1 | import StorageManager, { codeDir } from "../Storage/storageManager"; 2 | import { makeTable } from "./terminalComponents"; 3 | const storage = StorageManager; 4 | export const rm = (startObject, out) => { 5 | const help = ` rm - remove 6 | exmple file : rm "file.c" 7 | exmple folder : rm -d "folder" `; 8 | if (startObject.strings.length >= 1) { 9 | if ( 10 | startObject.options.includes("-d") || 11 | startObject.options.includes("--dir") 12 | ) { 13 | if (startObject.sudo) { 14 | storage 15 | .removeDocumentDirectory( 16 | startObject.location + startObject.strings[0] 17 | ) 18 | .then(() => out("success")) 19 | .catch(e => { 20 | out("error : " + e.code + "\n" + help); 21 | }); 22 | } else { 23 | out("sudo require to delete folder"); 24 | } 25 | } else { 26 | storage 27 | .removeDocument(startObject.location + startObject.strings[0], codeDir) 28 | .then(() => out("success")) 29 | .catch(e => { 30 | out("error : " + e.code + "\n" + help); 31 | }); 32 | } 33 | } else { 34 | out(help); 35 | } 36 | }; 37 | export const cat = (startObject, out) => { 38 | const help = ` cat - print file to console 39 | exmple file : cat "file.c"`; 40 | if (startObject.strings.length >= 1) { 41 | storage 42 | .getFile(startObject.location + startObject.strings[0], codeDir) 43 | .then(v => { 44 | out(v); 45 | }); 46 | } else { 47 | out(help); 48 | } 49 | }; 50 | export const ls = (startObject, out) => { 51 | const help = ` ls - list file in current directory 52 | exmple file : ls -> file.c,file.js,file.nnp`; 53 | storage.listDirectory(startObject.location, codeDir).then(res => { 54 | out(makeTable([res], "#0f0")); 55 | }); 56 | 57 | if (startObject.fullArgs.length > 0) { 58 | out(help); 59 | } 60 | }; 61 | export const touch = (startObject, out) => { 62 | const help = ` 63 | WARNING FOR NOW USING TOUCH ON EXISTING DOCS WILL DELETE THME 64 | touch - create 65 | exmple file : touch "file.c" 66 | exmple folder : touch -d "folder"`; 67 | if (startObject.strings.length >= 1) { 68 | storage 69 | .MakeDocument(startObject.location + startObject.strings[0], codeDir) 70 | .then(out); 71 | } else { 72 | out(help); 73 | } 74 | }; 75 | -------------------------------------------------------------------------------- /public/code/ckeditor4/plugins/specialchar/dialogs/lang/zh-cn.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | CKEDITOR.plugins.setLang("specialchar","zh-cn",{euro:"欧元符号",lsquo:"左单引号",rsquo:"右单引号",ldquo:"左双引号",rdquo:"右双引号",ndash:"短划线",mdash:"长划线",iexcl:"竖翻叹号",cent:"分币符号",pound:"英镑符号",curren:"货币符号",yen:"日元符号",brvbar:"间断条",sect:"节标记",uml:"分音符",copy:"版权所有标记",ordf:"阴性顺序指示符",laquo:"左指双尖引号",not:"非标记",reg:"注册标记",macr:"长音符",deg:"度标记",sup2:"上标二",sup3:"上标三",acute:"锐音符",micro:"微符",para:"段落标记",middot:"中间点",cedil:"下加符",sup1:"上标一",ordm:"阳性顺序指示符",raquo:"右指双尖引号",frac14:"普通分数四分之一",frac12:"普通分数二分之一",frac34:"普通分数四分之三",iquest:"竖翻问号", 6 | Agrave:"带抑音符的拉丁文大写字母 A",Aacute:"带锐音符的拉丁文大写字母 A",Acirc:"带扬抑符的拉丁文大写字母 A",Atilde:"带颚化符的拉丁文大写字母 A",Auml:"带分音符的拉丁文大写字母 A",Aring:"带上圆圈的拉丁文大写字母 A",AElig:"拉丁文大写字母 Æ",Ccedil:"带下加符的拉丁文大写字母 C",Egrave:"带抑音符的拉丁文大写字母 E",Eacute:"带锐音符的拉丁文大写字母 E",Ecirc:"带扬抑符的拉丁文大写字母 E",Euml:"带分音符的拉丁文大写字母 E",Igrave:"带抑音符的拉丁文大写字母 I",Iacute:"带锐音符的拉丁文大写字母 I",Icirc:"带扬抑符的拉丁文大写字母 I",Iuml:"带分音符的拉丁文大写字母 I",ETH:"拉丁文大写字母 Eth",Ntilde:"带颚化符的拉丁文大写字母 N",Ograve:"带抑音符的拉丁文大写字母 O",Oacute:"带锐音符的拉丁文大写字母 O",Ocirc:"带扬抑符的拉丁文大写字母 O",Otilde:"带颚化符的拉丁文大写字母 O", 7 | Ouml:"带分音符的拉丁文大写字母 O",times:"乘号",Oslash:"带粗线的拉丁文大写字母 O",Ugrave:"带抑音符的拉丁文大写字母 U",Uacute:"带锐音符的拉丁文大写字母 U",Ucirc:"带扬抑符的拉丁文大写字母 U",Uuml:"带分音符的拉丁文大写字母 U",Yacute:"带抑音符的拉丁文大写字母 Y",THORN:"拉丁文大写字母 Thorn",szlig:"拉丁文小写字母清音 S",agrave:"带抑音符的拉丁文小写字母 A",aacute:"带锐音符的拉丁文小写字母 A",acirc:"带扬抑符的拉丁文小写字母 A",atilde:"带颚化符的拉丁文小写字母 A",auml:"带分音符的拉丁文小写字母 A",aring:"带上圆圈的拉丁文小写字母 A",aelig:"拉丁文小写字母 Ae",ccedil:"带下加符的拉丁文小写字母 C",egrave:"带抑音符的拉丁文小写字母 E",eacute:"带锐音符的拉丁文小写字母 E",ecirc:"带扬抑符的拉丁文小写字母 E",euml:"带分音符的拉丁文小写字母 E",igrave:"带抑音符的拉丁文小写字母 I", 8 | iacute:"带锐音符的拉丁文小写字母 I",icirc:"带扬抑符的拉丁文小写字母 I",iuml:"带分音符的拉丁文小写字母 I",eth:"拉丁文小写字母 Eth",ntilde:"带颚化符的拉丁文小写字母 N",ograve:"带抑音符的拉丁文小写字母 O",oacute:"带锐音符的拉丁文小写字母 O",ocirc:"带扬抑符的拉丁文小写字母 O",otilde:"带颚化符的拉丁文小写字母 O",ouml:"带分音符的拉丁文小写字母 O",divide:"除号",oslash:"带粗线的拉丁文小写字母 O",ugrave:"带抑音符的拉丁文小写字母 U",uacute:"带锐音符的拉丁文小写字母 U",ucirc:"带扬抑符的拉丁文小写字母 U",uuml:"带分音符的拉丁文小写字母 U",yacute:"带抑音符的拉丁文小写字母 Y",thorn:"拉丁文小写字母 Thorn",yuml:"带分音符的拉丁文小写字母 Y",OElig:"拉丁文大写连字 Oe",oelig:"拉丁文小写连字 Oe",372:"带扬抑符的拉丁文大写字母 W",374:"带扬抑符的拉丁文大写字母 Y", 9 | 373:"带扬抑符的拉丁文小写字母 W",375:"带扬抑符的拉丁文小写字母 Y",sbquo:"单下 9 形引号",8219:"单高横翻 9 形引号",bdquo:"双下 9 形引号",hellip:"水平省略号",trade:"商标标志",9658:"实心右指指针",bull:"加重号",rarr:"向右箭头",rArr:"向右双线箭头",hArr:"左右双线箭头",diams:"实心方块纸牌",asymp:"约等于"}); -------------------------------------------------------------------------------- /src/LayoutComponents/Explorer/actions/Rename.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import StorageManager from "../../../Storage/storageManager"; 3 | import { 4 | Dialog, 5 | InputGroup, 6 | Card, 7 | Elevation, 8 | H6, 9 | Divider 10 | } from "@blueprintjs/core"; 11 | 12 | interface RenameFileState { 13 | isOpen: boolean; 14 | selected: string; 15 | selectedIsDirectory: boolean; 16 | } 17 | interface RenameFileProps { 18 | selectedIsDirectory: boolean; 19 | isOpen: boolean; 20 | selected: string; 21 | onClose: (success: boolean, newName?: string) => void; 22 | } 23 | 24 | class RenameFile extends Component { 25 | storage: typeof StorageManager; 26 | originalSelected: string; 27 | constructor(props: RenameFileProps) { 28 | super(props); 29 | this.storage = StorageManager; 30 | this.state = { 31 | isOpen: props.isOpen, 32 | selected: props.selected, 33 | selectedIsDirectory: props.selectedIsDirectory 34 | }; 35 | this.originalSelected = this.state.selected; 36 | } 37 | Rename = (e: React.KeyboardEvent) => { 38 | if (e.keyCode === 13) { 39 | const selected = this.state.selected; 40 | if ( 41 | selected && 42 | selected !== this.originalSelected && 43 | selected !== this.props.selected 44 | ) { 45 | this.storage 46 | .renameDocument(this.originalSelected, selected) 47 | .then(() => { 48 | this.props.onClose(true, selected); 49 | }); 50 | } 51 | } 52 | }; 53 | render() { 54 | return ( 55 | this.props.onClose(false)} 57 | isOpen={this.state.isOpen} 58 | icon="text-highlight" 59 | title="rename file" 60 | > 61 | ) => { 69 | this.setState({ selected: e.target.value }); 70 | }} 71 | > 72 | 73 | 74 |
click enter to rename or escape to cancel
75 |
76 |
77 | ); 78 | } 79 | } 80 | 81 | export default RenameFile; 82 | -------------------------------------------------------------------------------- /src/LayoutComponents/webBrowser/browser.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import { 3 | Button, 4 | InputGroup, 5 | Navbar, 6 | NavbarGroup, 7 | Alignment 8 | } from "@blueprintjs/core"; 9 | interface BrowserState { 10 | currentUrl: string; 11 | input: string; 12 | rerender: number; 13 | } 14 | interface BrowserProps { 15 | url: string; 16 | } 17 | 18 | export default class Browser extends Component { 19 | constructor(props: BrowserProps) { 20 | super(props); 21 | this.state = { 22 | currentUrl: props.url, 23 | input: props.url, 24 | rerender: 1 25 | }; 26 | } 27 | componentWillReceiveProps(props: BrowserProps) { 28 | this.setState({ input: props.url, currentUrl: props.url }); 29 | } 30 | render() { 31 | return ( 32 |
33 | 34 | 35 |