├── .gitignore ├── LICENSE ├── README.md ├── docs ├── .DS_Store └── images │ ├── Delegator_UML.png │ └── Typical_Setup.png ├── src ├── basic.htm ├── citation.htm ├── css │ ├── ceww_converted.css │ ├── cwrc.css │ ├── cwrc_converted.css │ ├── cwrcstyle │ │ ├── images │ │ │ ├── ui-bg_flat_0_b3bbbe_40x100.png │ │ │ ├── ui-bg_flat_55_ffffff_40x100.png │ │ │ ├── ui-bg_flat_65_0c3e99_40x100.png │ │ │ ├── ui-bg_flat_75_b3bbbe_40x100.png │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ ├── ui-bg_flat_95_ffffff_40x100.png │ │ │ ├── ui-icons_030303_256x240.png │ │ │ ├── ui-icons_0c3e99_256x240.png │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ └── ui-icons_ffffff_256x240.png │ │ ├── jquery-ui.css │ │ └── jquery-ui.min.css │ ├── editor.css │ ├── islandora_style.css │ ├── layout-default-latest.css │ ├── orlando.css │ ├── orlando_converted.css │ ├── style.css │ ├── tei.css │ └── tei_converted.css ├── editor_dev.htm ├── img │ ├── CWRC_logo_text_web.png │ ├── CWRC_logo_text_web_small.png │ ├── add.png │ ├── arrow_down.gif │ ├── arrow_left.gif │ ├── arrow_right.gif │ ├── arrow_up.gif │ ├── book.png │ ├── building.png │ ├── cake.png │ ├── calendar.png │ ├── chart_org.png │ ├── citation_inline_large.png │ ├── citation_inline_large_highlight.png │ ├── cross.png │ ├── cwrc_logo_small.png │ ├── delete.png │ ├── editsource.gif │ ├── en.png │ ├── error.png │ ├── folder_page.png │ ├── group.png │ ├── heading.png │ ├── help.png │ ├── html.png │ ├── key.png │ ├── keyword_inline_large.png │ ├── keyword_inline_large_highlight.png │ ├── link.png │ ├── link_add.png │ ├── loading.gif │ ├── loading_large.gif │ ├── menu_arrow.gif │ ├── note.png │ ├── note_inline_large.png │ ├── note_inline_large_highlight.png │ ├── orlando │ │ ├── bibcit.gif │ │ ├── book1.gif │ │ ├── earth1.gif │ │ ├── note.gif │ │ ├── pen1.gif │ │ ├── people1.gif │ │ └── theorlandoproject.gif │ ├── page_key.png │ ├── page_white_code.png │ ├── page_white_edit.png │ ├── page_white_text.png │ ├── para.gif │ ├── para.png │ ├── pencil.png │ ├── quote.png │ ├── s.gif │ ├── save.png │ ├── save_as.png │ ├── save_exit.png │ ├── script.png │ ├── script_add.png │ ├── script_delete.png │ ├── tag.png │ ├── tag_blue.png │ ├── tag_blue_add.png │ ├── tag_blue_copy.png │ ├── tag_blue_delete.png │ ├── tag_blue_edit.png │ ├── tag_blue_paste.png │ ├── tag_text.png │ ├── text_italic.png │ ├── time.png │ ├── title.gif │ ├── title.png │ ├── user.png │ ├── user_gray.png │ ├── validate.png │ ├── vcard.png │ ├── viewsource.gif │ └── world.png ├── index.htm ├── js │ ├── annotationsManager.js │ ├── config.js │ ├── converter.js │ ├── cwrcDialogs │ │ ├── cD.js │ │ ├── css │ │ │ ├── cD.css │ │ │ ├── cwrcDialogs.css │ │ │ └── datepicker.css │ │ ├── cwrc-api.js │ │ └── schemas │ │ │ └── entities.rng │ ├── delegator.js │ ├── dialogManager.js │ ├── dialogs │ │ ├── addEvent.js │ │ ├── addSchema.js │ │ ├── attributeWidget.js │ │ ├── copyPaste.js │ │ ├── cwrcCitation.js │ │ ├── cwrcDialogBridge.js │ │ ├── cwrcOrg.js │ │ ├── cwrcPerson.js │ │ ├── cwrcPlace.js │ │ ├── cwrcTitle.js │ │ ├── dialogForm.js │ │ ├── fileManager.js │ │ ├── header.js │ │ ├── help.js │ │ ├── message.js │ │ ├── schemaTags.js │ │ ├── searchWidget.js │ │ ├── settings.js │ │ └── triple.js │ ├── docsMappings.js │ ├── entitiesManager.js │ ├── entity.js │ ├── eventManager.js │ ├── fileManager.js │ ├── layout.js │ ├── layout_reader.js │ ├── lib │ │ ├── bootstrap │ │ │ ├── bootstrap-datepicker.js │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.js │ │ │ └── bootstrap.min.js │ │ ├── fonts │ │ │ ├── font-awesome │ │ │ │ ├── css │ │ │ │ │ ├── font-awesome.css │ │ │ │ │ └── font-awesome.min.css │ │ │ │ └── fonts │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ └── fontawesome-webfont.woff │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ ├── jquery │ │ │ ├── jquery-1.8.3.js │ │ │ ├── jquery-1.9.1.js │ │ │ ├── jquery-migrate-1.2.1.js │ │ │ ├── jquery-ui-1.10.3.custom.js │ │ │ ├── jquery-ui-1.10.3.custom.min.js │ │ │ ├── jquery-ui-1.10.4.custom.js │ │ │ ├── jquery-ui-1.10.4.custom.min.js │ │ │ ├── jquery-ui-1.10.4.min.js │ │ │ ├── jquery-ui-1.11.1.min.js │ │ │ ├── jquery.collapsiblepanel.css │ │ │ ├── jquery.collapsiblepanel.js │ │ │ ├── jquery.contextmenu.js │ │ │ ├── jquery.layout-latest.min.js │ │ │ ├── jquery.layout.resizeTabLayout-1.3.js │ │ │ ├── jquery.tmpl.min.js │ │ │ ├── jquery.watermark.min.js │ │ │ └── jquery.xpath.js │ │ ├── jstree │ │ │ ├── jquery.hotkeys.js │ │ │ ├── jquery.jstree.js │ │ │ ├── jstree.3.0.0.js │ │ │ └── themes │ │ │ │ └── cwrc │ │ │ │ ├── 32px.png │ │ │ │ ├── 40px.png │ │ │ │ ├── cwrc.css │ │ │ │ ├── style.css │ │ │ │ └── throbber.gif │ │ ├── knockout │ │ │ └── knockout-3.3.0.js │ │ ├── moment │ │ │ └── moment.min.js │ │ ├── objtree │ │ │ └── ObjTree.js │ │ ├── octokit │ │ │ └── octokit.js │ │ ├── require │ │ │ ├── require.js │ │ │ └── text.js │ │ ├── reworkcss │ │ │ ├── parser │ │ │ │ └── parser.js │ │ │ └── stringify │ │ │ │ ├── compiler.js │ │ │ │ ├── compress.js │ │ │ │ ├── identity.js │ │ │ │ ├── inherits.js │ │ │ │ └── stringify.js │ │ ├── snippet │ │ │ ├── jquery.snippet.css │ │ │ └── jquery.snippet.min.js │ │ └── tinymce4 │ │ │ ├── plugins │ │ │ └── paste │ │ │ │ ├── plugin.js │ │ │ │ └── plugin.min.js │ │ │ ├── skins │ │ │ └── lightgray │ │ │ │ ├── content.inline.min.css │ │ │ │ ├── content.min.css │ │ │ │ ├── fonts │ │ │ │ ├── readme.md │ │ │ │ ├── tinymce-small.eot │ │ │ │ ├── tinymce-small.json │ │ │ │ ├── tinymce-small.svg │ │ │ │ ├── tinymce-small.ttf │ │ │ │ ├── tinymce-small.woff │ │ │ │ ├── tinymce.eot │ │ │ │ ├── tinymce.json │ │ │ │ ├── tinymce.svg │ │ │ │ ├── tinymce.ttf │ │ │ │ └── tinymce.woff │ │ │ │ ├── img │ │ │ │ ├── anchor.gif │ │ │ │ ├── loader.gif │ │ │ │ ├── object.gif │ │ │ │ └── trans.gif │ │ │ │ ├── skin.ie7.min.css │ │ │ │ └── skin.min.css │ │ │ ├── themes │ │ │ ├── cwrc │ │ │ │ └── theme.js │ │ │ └── modern │ │ │ │ ├── theme.js │ │ │ │ └── theme.min.js │ │ │ ├── tinymce.js │ │ │ └── tinymce.min.js │ ├── modules │ │ ├── entitiesList.js │ │ ├── relations.js │ │ ├── selection.js │ │ ├── structureTree.js │ │ └── validation.js │ ├── schema │ │ ├── cwrcEntry │ │ │ ├── dialogs │ │ │ │ ├── citation.js │ │ │ │ ├── correction.js │ │ │ │ ├── date.js │ │ │ │ ├── keyword.js │ │ │ │ ├── link.js │ │ │ │ ├── note.js │ │ │ │ ├── org.js │ │ │ │ ├── person.js │ │ │ │ ├── place.js │ │ │ │ └── title.js │ │ │ └── mappings.js │ │ ├── empty_mappings.js │ │ ├── mapper.js │ │ ├── orlando │ │ │ ├── dialogs │ │ │ │ ├── citation.js │ │ │ │ ├── correction.js │ │ │ │ ├── date.js │ │ │ │ ├── keyword.js │ │ │ │ ├── link.js │ │ │ │ ├── note.js │ │ │ │ ├── org.js │ │ │ │ ├── person.js │ │ │ │ ├── place.js │ │ │ │ └── title.js │ │ │ └── mappings.js │ │ ├── schemaManager.js │ │ └── tei │ │ │ ├── dialogs │ │ │ ├── citation.js │ │ │ ├── correction.js │ │ │ ├── date.js │ │ │ ├── keyword.js │ │ │ ├── link.js │ │ │ ├── note.js │ │ │ ├── org.js │ │ │ ├── person.js │ │ │ ├── place.js │ │ │ └── title.js │ │ │ └── mappings.js │ ├── tagger.js │ ├── tinymce_plugins │ │ ├── currenttag4.js │ │ ├── cwrc_contextmenu.js │ │ ├── schematags4.js │ │ ├── treepaste.js │ │ └── viewsource.js │ ├── utilities.js │ ├── writer.js │ └── writerConfig.js ├── note.htm ├── reader.htm └── xml │ ├── blank_tei.xml │ ├── citation_tei.xml │ ├── note_tei.xml │ └── xsl │ ├── all_attributes.xsl │ ├── all_elements.xsl │ ├── doc2internal.xsl │ └── normalize.xsl └── tests ├── config.js ├── delegator_tests.js ├── dialogManager_tests.js ├── entitiesModel_tests.js ├── eventManager_tests.js ├── fileManager_tests.js ├── schemaManager_tests.js ├── tagger_tests.js ├── test_template.html ├── utilities_tests.js └── writer_tests.js /.gitignore: -------------------------------------------------------------------------------- 1 | /.project 2 | /.settings 3 | /.classpath 4 | /.tomcatplugin 5 | /WebContent 6 | .externalToolBuilders 7 | /src/js/lib/tinymce_src 8 | /docs 9 | -------------------------------------------------------------------------------- /docs/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/docs/.DS_Store -------------------------------------------------------------------------------- /docs/images/Delegator_UML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/docs/images/Delegator_UML.png -------------------------------------------------------------------------------- /docs/images/Typical_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/docs/images/Typical_Setup.png -------------------------------------------------------------------------------- /src/basic.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CWRCWriter 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 29 | 30 | 101 | 102 | 103 |
104 |
105 |
106 | 107 |
108 |
109 |
110 | 111 | -------------------------------------------------------------------------------- /src/css/ceww_converted.css: -------------------------------------------------------------------------------- 1 | *{ 2 | color:black; 3 | font-family:sans-serif; 4 | background-color:#FFFAF0 5 | } 6 | 7 | *[_tag="RESEARCHNOTE"] { 8 | background-color:#FBEFEF; 9 | color:#663366; 10 | font-family:Arial, Helvetica, sans-serif; 11 | font-size:smaller; 12 | display:block; 13 | margin:0%; 14 | padding:0% 15 | } 16 | 17 | 18 | #comment{ 19 | display:none 20 | 21 | } 22 | 23 | *[_tag="CWRCHEADER"], 24 | *[_tag="FILEDESC"], 25 | *[_tag="DOCTITLE"], 26 | *[_tag="DOCAUTHOR"] 27 | { 28 | display:list-item 29 | } 30 | 31 | *[_tag="FILEDESC"]{ 32 | content:url(http://cwrc.ca/templates/images/CWRC_logo.png); 33 | background-color:#B8B891; 34 | color:#555; 35 | font-weight:normal; 36 | } 37 | *[_tag="DOCTITLE"]{ 38 | font-variant:small-caps; 39 | font-size:x-large; 40 | font-weight:bold; 41 | } 42 | *[_tag="DOCAUTHOR"]{ 43 | font-weight:bold 44 | } 45 | *[_tag="PUBLICATIONSTMT"], 46 | *[_tag="SOURCEDESC"], 47 | *[_tag="REVISIONDESC"], 48 | *[_tag="RESPONSIBILITY"]{ 49 | display:none 50 | } 51 | 52 | *[_tag="ENTRY"]{ 53 | display:block; 54 | margin-left:3% 55 | } 56 | 57 | *[_tag="P"]{padding-bottom:1%} 58 | 59 | *[_tag="HEADING"][SUBTYPE = "1"]{ 60 | color:black; 61 | font-size:xx-large; 62 | font-weight:bold 63 | } 64 | 65 | *[_tag="BIRTH"]:before{ 66 | content:"Birth: "; 67 | font-weight:bold 68 | } 69 | 70 | *[_tag="BIRTH"], 71 | *[_tag="DEATH"], 72 | *[_tag="PERSONNAME"]{ 73 | display:block 74 | } 75 | 76 | *[_tag="PERSONNAME"] *[_tag="DATASTRUCT"] *[_tag="DATAITEM"]{display:block} 77 | 78 | *[_tag="BIRTHNAME"] *[_tag="GIVEN"]{padding-right:1em} 79 | 80 | *[_tag="DEATH"]:before{ 81 | content:"Death: "; 82 | font-weight:bold 83 | } 84 | 85 | *[_tag="HEADING"][SUBTYPE = "5"]{ 86 | display:inline; 87 | font-weight:bold 88 | } 89 | 90 | *[_tag="HEADING"][SUBTYPE = "2"]{ 91 | display:block; 92 | font-size:x-large; 93 | font-weight:bold; 94 | padding-top:1em; 95 | padding-bottom:1em 96 | } 97 | 98 | *[_tag="FRONT"] *[_tag="P"]{ 99 | display:block; 100 | font-style:italic; 101 | } 102 | *[_tag="AUTHORSUMMARY"] *[_tag="P"]{display:block} 103 | 104 | *[_tag="FRONT"] *[_tag="P"] + *[_tag="P"]{ 105 | display:block; 106 | text-align:right; 107 | padding-right:2em; 108 | font-style:normal 109 | } 110 | 111 | *[_tag="HEADING"][SUBTYPE = "3"]{ 112 | display:block; 113 | font-size:large; 114 | font-weight:bold; 115 | padding-top:0.5em; 116 | padding-bottom:0.5em 117 | } 118 | 119 | *[_tag="HEADING"][SUBTYPE = "2"] + *[_tag="HEADING"][SUBTYPE = "3"]{padding-top:0em} 120 | 121 | *[_tag="HEADING"][SUBTYPE = "4"]{ 122 | font-weight:bold; 123 | display:block; 124 | font-size:medium; 125 | } 126 | 127 | *[_tag="LISTBIBCIT"] *[_tag="BIBCIT"]{ 128 | display:block; 129 | padding-left:2%; 130 | padding-bottom:0.5em 131 | } 132 | 133 | *[_tag="TITLE"][LEVEL = "MONOGRAPHIC"]{font-style:italic} 134 | *[_tag="TITLE"][LEVEL = "ANALYTIC"]:before{content:"""} 135 | *[_tag="TITLE"][LEVEL = "ANALYTIC"]:after{content:"""} 136 | 137 | *[_tag="FAMILYMEMBER"]{ 138 | display:block 139 | } 140 | 141 | *[_tag="FAMILYMEMBER"] *[_tag="P"]{ 142 | display:block 143 | } 144 | 145 | *[_tag="FAMILYMEMBER"][RELATION = "FATHER"] *[_tag="HEADING"]:before{ 146 | content:"Father: "; 147 | font-weight:bold 148 | } 149 | 150 | *[_tag="FAMILYMEMBER"][RELATION = "MOTHER"] *[_tag="HEADING"]:before{ 151 | content:"Mother: "; 152 | font-weight:bold 153 | } 154 | 155 | *[_tag="FAMILYMEMBER"][RELATION = "FATHER"], 156 | *[_tag="FAMILYMEMBER"][RELATION = "MOTHER"]{padding-bottom:1em} 157 | 158 | *[_tag="FAMILYMEMBER"][RELATION = "FATHER"] *[_tag="CHRONSTRUCT"] *[_tag="DATERANGE"], 159 | *[_tag="FAMILYMEMBER"][RELATION = "MOTHER"] *[_tag="CHRONSTRUCT"] *[_tag="DATERANGE"]{ 160 | display:block; 161 | font-weight:bold; 162 | font-size:medium; 163 | color:green 164 | } 165 | 166 | *[_tag="FAMILYMEMBER"][RELATION = "FATHER"] *[_tag="CHRONSTRUCT"] *[_tag="CHRONPROSE"], 167 | *[_tag="FAMILYMEMBER"][RELATION = "MOTHER"] *[_tag="CHRONSTRUCT"] *[_tag="CHRONPROSE"]{ 168 | display:block; 169 | } 170 | 171 | *[_tag="EDUCATION"] *[_tag="CHRONSTRUCT"], 172 | *[_tag="RECEPTION"] *[_tag="CHRONSTRUCT"], 173 | *[_tag="OCCUPATION"] *[_tag="CHRONSTRUCT"], 174 | *[_tag="RESIDENCEANDMOBILITY"] *[_tag="CHRONSTRUCT"]{ 175 | display:block 176 | } 177 | 178 | *[_tag="EDUCATION"] *[_tag="CHRONSTRUCT"] *[_tag="DATERANGE"]{ 179 | display:inline-block; 180 | padding-right:5em 181 | } 182 | 183 | *[_tag="EDUCATION"] *[_tag="CHRONSTRUCT"] *[_tag="CHRONSPROSE"]{ 184 | display:inline-block 185 | } 186 | *[_tag="AUTHORSUMMARY"]:nth-of-type(1){display:block; padding:1em; padding-left:15%; padding-right:15%;text-align:center} 187 | 188 | 189 | 190 | 191 | 192 | -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-bg_flat_0_b3bbbe_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-bg_flat_0_b3bbbe_40x100.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-bg_flat_55_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-bg_flat_55_ffffff_40x100.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-bg_flat_65_0c3e99_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-bg_flat_65_0c3e99_40x100.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-bg_flat_75_b3bbbe_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-bg_flat_75_b3bbbe_40x100.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-bg_flat_95_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-bg_flat_95_ffffff_40x100.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-icons_030303_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-icons_030303_256x240.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-icons_0c3e99_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-icons_0c3e99_256x240.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /src/css/cwrcstyle/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/css/cwrcstyle/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /src/css/editor.css: -------------------------------------------------------------------------------- 1 | /* This CSS gets applied to the tinymce editor */ 2 | 3 | @import url(http://fonts.googleapis.com/css?family=Lato&subset=latin,latin-ext); 4 | 5 | body { 6 | font-family: 'Book Antiqua', serif; 7 | font-size: 11pt; 8 | color: #333; 9 | } 10 | 11 | .showEntityBrackets .entity { 12 | /*display: inline-block; 13 | height: 11px; 14 | line-height: 11px; 15 | width: 2px;*/ 16 | border-width: 1px; 17 | border-bottom-style: dotted; 18 | } 19 | 20 | /* 21 | .showEntityBrackets .start { 22 | border-left: 2px solid; 23 | border-bottom-left-radius: 4px; 24 | border-top-left-radius: 4px; 25 | } 26 | 27 | .showEntityBrackets .end { 28 | border-right: 2px solid; 29 | border-bottom-right-radius: 4px; 30 | border-top-right-radius: 4px; 31 | } 32 | */ 33 | 34 | /* 35 | .entityHighlight { 36 | color: #fff; 37 | border-radius: 5px; 38 | } 39 | */ 40 | 41 | /* TODO: need to get this out of here!! */ 42 | .entityHighlight.txtimglnk { 43 | background-color: #7F00FF; 44 | } 45 | .showEntityBrackets .txtimglnk { 46 | border-color: #7F00FF; 47 | } 48 | .showEntityBrackets .entityHighlight .entity { 49 | border-width: 2px; 50 | } 51 | /* 52 | .entityHighlight.person { 53 | background-color: #FF0000; 54 | } 55 | 56 | .entityHighlight.date { 57 | background-color: #FF7400; 58 | } 59 | 60 | .entityHighlight.place { 61 | background-color: #009999; 62 | } 63 | 64 | .entityHighlight.event { 65 | background-color: #00CC00; 66 | } 67 | 68 | .entityHighlight.org { 69 | background-color: #3914AF; 70 | } 71 | 72 | .entityHighlight.title { 73 | background-color: #debb00; 74 | } 75 | 76 | .entityHighlight.correction { 77 | background-color: #FF3300; 78 | } 79 | 80 | .entityHighlight.link { 81 | background-color: #3366ff; 82 | } 83 | */ 84 | .showEntityBrackets .person { 85 | border-color: #FF0000; 86 | } 87 | 88 | .showEntityBrackets .date { 89 | border-color: #FF7400; 90 | } 91 | 92 | .showEntityBrackets .place { 93 | border-color: #009999; 94 | } 95 | 96 | .showEntityBrackets .event { 97 | border-color: #00CC00; 98 | } 99 | 100 | .showEntityBrackets .org { 101 | border-color: #3914AF; 102 | } 103 | 104 | .showEntityBrackets .title { 105 | border-color: #debb00; 106 | } 107 | 108 | .showEntityBrackets .correction { 109 | border-color: #FF3300; 110 | } 111 | 112 | .showEntityBrackets .link { 113 | border-color: #3366ff; 114 | } 115 | 116 | /* special handling for note type entities */ 117 | .citation, .note, .keyword { 118 | /*height: 16px !important; 119 | width: 16px !important;*/ 120 | cursor: pointer; 121 | } 122 | 123 | span:not(.entityHighlight) > .start.note::after, div > .start.note::after { 124 | content: url(../img/note_inline_large.png); 125 | } 126 | 127 | span:not(.entityHighlight) > .start.citation::after, div > .start.citation::after { 128 | content: url(../img/citation_inline_large.png); 129 | } 130 | 131 | span:not(.entityHighlight) > .start.keyword::after, div > .start.keyword::after { 132 | content: url(../img/keyword_inline_large.png); 133 | } 134 | 135 | .entityHighlight > .note::after { 136 | content: url(../img/note_inline_large_highlight.png); 137 | } 138 | 139 | .entityHighlight > .citation::after { 140 | content: url(../img/citation_inline_large_highlight.png); 141 | } 142 | 143 | .entityHighlight > .keyword::after { 144 | content: url(../img/keyword_inline_large_highlight.png); 145 | } 146 | 147 | .showEntityBrackets .citation.start, .showEntityBrackets .note.start, .showEntityBrackets .keyword.start { 148 | border: none !important; 149 | } 150 | 151 | 152 | 153 | span[data-mce-bogus] { 154 | height: 0px; 155 | width: 0px; 156 | line-height: 0px; 157 | font-size: 0px; 158 | display: none; 159 | } 160 | 161 | .titleTagQuotes:before, .quoteTagShort:before { 162 | content: open-quote; 163 | } 164 | 165 | .titleTagQuotes:after, .quoteTagShort:after { 166 | content: close-quote; 167 | } 168 | 169 | .titleTagItalics { 170 | font-style: italic; 171 | } 172 | 173 | .quoteTagLong { 174 | display: block; 175 | margin-left: 25px; 176 | } 177 | 178 | .quoteTag { 179 | } 180 | 181 | .headTag { 182 | font-size: 120%; 183 | font-weight: bold; 184 | } 185 | 186 | .emphTag { 187 | font-style: italic; 188 | } -------------------------------------------------------------------------------- /src/img/CWRC_logo_text_web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/CWRC_logo_text_web.png -------------------------------------------------------------------------------- /src/img/CWRC_logo_text_web_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/CWRC_logo_text_web_small.png -------------------------------------------------------------------------------- /src/img/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/add.png -------------------------------------------------------------------------------- /src/img/arrow_down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/arrow_down.gif -------------------------------------------------------------------------------- /src/img/arrow_left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/arrow_left.gif -------------------------------------------------------------------------------- /src/img/arrow_right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/arrow_right.gif -------------------------------------------------------------------------------- /src/img/arrow_up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/arrow_up.gif -------------------------------------------------------------------------------- /src/img/book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/book.png -------------------------------------------------------------------------------- /src/img/building.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/building.png -------------------------------------------------------------------------------- /src/img/cake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/cake.png -------------------------------------------------------------------------------- /src/img/calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/calendar.png -------------------------------------------------------------------------------- /src/img/chart_org.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/chart_org.png -------------------------------------------------------------------------------- /src/img/citation_inline_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/citation_inline_large.png -------------------------------------------------------------------------------- /src/img/citation_inline_large_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/citation_inline_large_highlight.png -------------------------------------------------------------------------------- /src/img/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/cross.png -------------------------------------------------------------------------------- /src/img/cwrc_logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/cwrc_logo_small.png -------------------------------------------------------------------------------- /src/img/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/delete.png -------------------------------------------------------------------------------- /src/img/editsource.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/editsource.gif -------------------------------------------------------------------------------- /src/img/en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/en.png -------------------------------------------------------------------------------- /src/img/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/error.png -------------------------------------------------------------------------------- /src/img/folder_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/folder_page.png -------------------------------------------------------------------------------- /src/img/group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/group.png -------------------------------------------------------------------------------- /src/img/heading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/heading.png -------------------------------------------------------------------------------- /src/img/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/help.png -------------------------------------------------------------------------------- /src/img/html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/html.png -------------------------------------------------------------------------------- /src/img/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/key.png -------------------------------------------------------------------------------- /src/img/keyword_inline_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/keyword_inline_large.png -------------------------------------------------------------------------------- /src/img/keyword_inline_large_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/keyword_inline_large_highlight.png -------------------------------------------------------------------------------- /src/img/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/link.png -------------------------------------------------------------------------------- /src/img/link_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/link_add.png -------------------------------------------------------------------------------- /src/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/loading.gif -------------------------------------------------------------------------------- /src/img/loading_large.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/loading_large.gif -------------------------------------------------------------------------------- /src/img/menu_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/menu_arrow.gif -------------------------------------------------------------------------------- /src/img/note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/note.png -------------------------------------------------------------------------------- /src/img/note_inline_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/note_inline_large.png -------------------------------------------------------------------------------- /src/img/note_inline_large_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/note_inline_large_highlight.png -------------------------------------------------------------------------------- /src/img/orlando/bibcit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/orlando/bibcit.gif -------------------------------------------------------------------------------- /src/img/orlando/book1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/orlando/book1.gif -------------------------------------------------------------------------------- /src/img/orlando/earth1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/orlando/earth1.gif -------------------------------------------------------------------------------- /src/img/orlando/note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/orlando/note.gif -------------------------------------------------------------------------------- /src/img/orlando/pen1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/orlando/pen1.gif -------------------------------------------------------------------------------- /src/img/orlando/people1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/orlando/people1.gif -------------------------------------------------------------------------------- /src/img/orlando/theorlandoproject.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/orlando/theorlandoproject.gif -------------------------------------------------------------------------------- /src/img/page_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/page_key.png -------------------------------------------------------------------------------- /src/img/page_white_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/page_white_code.png -------------------------------------------------------------------------------- /src/img/page_white_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/page_white_edit.png -------------------------------------------------------------------------------- /src/img/page_white_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/page_white_text.png -------------------------------------------------------------------------------- /src/img/para.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/para.gif -------------------------------------------------------------------------------- /src/img/para.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/para.png -------------------------------------------------------------------------------- /src/img/pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/pencil.png -------------------------------------------------------------------------------- /src/img/quote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/quote.png -------------------------------------------------------------------------------- /src/img/s.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/s.gif -------------------------------------------------------------------------------- /src/img/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/save.png -------------------------------------------------------------------------------- /src/img/save_as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/save_as.png -------------------------------------------------------------------------------- /src/img/save_exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/save_exit.png -------------------------------------------------------------------------------- /src/img/script.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/script.png -------------------------------------------------------------------------------- /src/img/script_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/script_add.png -------------------------------------------------------------------------------- /src/img/script_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/script_delete.png -------------------------------------------------------------------------------- /src/img/tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/tag.png -------------------------------------------------------------------------------- /src/img/tag_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/tag_blue.png -------------------------------------------------------------------------------- /src/img/tag_blue_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/tag_blue_add.png -------------------------------------------------------------------------------- /src/img/tag_blue_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/tag_blue_copy.png -------------------------------------------------------------------------------- /src/img/tag_blue_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/tag_blue_delete.png -------------------------------------------------------------------------------- /src/img/tag_blue_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/tag_blue_edit.png -------------------------------------------------------------------------------- /src/img/tag_blue_paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/tag_blue_paste.png -------------------------------------------------------------------------------- /src/img/tag_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/tag_text.png -------------------------------------------------------------------------------- /src/img/text_italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/text_italic.png -------------------------------------------------------------------------------- /src/img/time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/time.png -------------------------------------------------------------------------------- /src/img/title.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/title.gif -------------------------------------------------------------------------------- /src/img/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/title.png -------------------------------------------------------------------------------- /src/img/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/user.png -------------------------------------------------------------------------------- /src/img/user_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/user_gray.png -------------------------------------------------------------------------------- /src/img/validate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/validate.png -------------------------------------------------------------------------------- /src/img/vcard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/vcard.png -------------------------------------------------------------------------------- /src/img/viewsource.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/viewsource.gif -------------------------------------------------------------------------------- /src/img/world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/img/world.png -------------------------------------------------------------------------------- /src/index.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CWRC-Writer 5 | 6 | 7 | 61 | 62 | 63 | 74 | 75 | 76 |
77 |

CWRC-Writer

78 |

an open-source editor for online digital scholarship

79 |

This is an early prototype for demonstration purposes: 80 | certain features are not yet functional and there are many bugs. 81 | The editor works best with the current version of the Firefox or Chrome browsers.

82 |

Testing instructions are here.

83 |

A short survey for testers is here. Please take 5 minutes to fill it out!

84 |

For more information on CWRC, visit here.

85 |
86 |
87 | 88 |
89 |
90 |
91 | 92 | 93 | 94 | 95 |
96 |
97 | 98 | 99 |
100 |
101 |
102 |
103 | 104 | 105 |
106 |
107 | 108 | 109 |
110 |
111 |
112 |
113 | 114 |
115 |
116 | 117 |
118 |
119 |
120 |
121 |
122 |
123 | 124 | 125 |
126 | 127 | -------------------------------------------------------------------------------- /src/js/config.js: -------------------------------------------------------------------------------- 1 | var require = { 2 | waitSeconds: 15, 3 | paths: { 4 | 'text': 'lib/require/text', // requirejs text plugin 5 | 6 | 'jquery': ['http://code.jquery.com/jquery-1.9.1.min','lib/jquery/jquery-1.9.1'], 7 | 'jquery-ui': ['lib/jquery/jquery-ui-1.10.4.min'], 8 | 'jquery-migrate': ['lib/jquery/jquery-migrate-1.2.1'], 9 | 'jquery.layout': 'lib/jquery/jquery.layout-latest.min', 10 | 'jquery.tablayout': 'lib/jquery/jquery.layout.resizeTabLayout-1.3', 11 | 'jquery.contextmenu': 'lib/jquery/jquery.contextmenu', 12 | 'jquery.tmpl': 'lib/jquery/jquery.tmpl.min', 13 | 'jquery.watermark': 'lib/jquery/jquery.watermark.min', 14 | 'jquery.jstree': 'lib/jstree/jstree.3.0.0', 15 | 'jquery.snippet': 'lib/snippet/jquery.snippet.min', 16 | 'jquery.xpath': 'lib/jquery/jquery.xpath', 17 | 18 | 'tinymce': 'lib/tinymce4/tinymce', 19 | 20 | 'objtree': 'lib/objtree/ObjTree', 21 | 'moment': 'lib/moment/moment.min', 22 | 23 | 'octokit': 'lib/octokit/octokit', 24 | 25 | 'css.parser': 'lib/reworkcss/parser/parser', 26 | 'css.stringify': 'lib/reworkcss/stringify/stringify', 27 | 'css.compiler': 'lib/reworkcss/stringify/compiler', 28 | 'css.compress': 'lib/reworkcss/stringify/compress', 29 | 'css.identity': 'lib/reworkcss/stringify/identity', 30 | 'inherits': 'lib/reworkcss/stringify/inherits', 31 | 32 | 'schemaManager': 'schema/schemaManager', 33 | 'mapper': 'schema/mapper', 34 | 35 | 'dialogForm': 'dialogs/dialogForm', 36 | 'attributeWidget': 'dialogs/attributeWidget', 37 | 38 | // cwrcDialogs 39 | 'knockout': ['http://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min','lib/knockout/knockout-3.3.0'], 40 | 'bootstrap': ['lib/bootstrap/bootstrap.min'], 41 | 'bootstrap-datepicker': 'lib/bootstrap/bootstrap-datepicker', 42 | 'cwrc-api': 'cwrcDialogs/cwrc-api', 43 | 'cwrcDialogs': 'cwrcDialogs/cD' 44 | }, 45 | shim: { 46 | 'jquery-ui': ['jquery'], 47 | 'jquery.layout': ['jquery'], 48 | 'jquery.tablayout': ['jquery.layout'], 49 | 'jquery.contextmenu': ['jquery'], 50 | 'jquery.tmpl': ['jquery'], 51 | 'jquery.watermark': ['jquery'], 52 | 'jquery.snippet': ['jquery', 'jquery-migrate'], 53 | 'jquery.xpath': ['jquery'], 54 | 'tinymce': { 55 | exports: 'tinymce', 56 | init: function() { 57 | this.tinymce.DOM.events.domLoaded = true; 58 | return this.tinymce; 59 | } 60 | }, 61 | 62 | 'bootstrap': ['jquery', 'jquery-ui'], 63 | 'bootstrap-datepicker': ['bootstrap'], 64 | 'cwrcDialogs': { 65 | deps: ['jquery', 'jquery-ui', 'knockout', 'bootstrap', 'bootstrap-datepicker', 'cwrc-api'] 66 | } 67 | }, 68 | map: { 69 | // '*' means all modules will get 'jquery-private' 70 | // for their 'jquery' dependency. 71 | '*': { 'jquery': 'jquery-private' }, 72 | 'jquery-private': { 'jquery': 'jquery' } 73 | } 74 | // cache busting 75 | // urlArgs: "bust=" + (new Date()).getTime(), 76 | }; 77 | -------------------------------------------------------------------------------- /src/js/cwrcDialogs/css/cD.css: -------------------------------------------------------------------------------- 1 | /* 2 | .modal .modal-body { 3 | max-height: 420px; 4 | overflow-y: auto; 5 | }*/ 6 | 7 | /*.result-area { 8 | height: 200px; 9 | overflow: auto; 10 | }*/ 11 | 12 | .interfaceFieldsContainer { 13 | padding: 0px 0px 0px 10px; 14 | margin: 5px 0px 5px 0px; 15 | } 16 | 17 | /* 18 | .interfaceFieldsContainer:empty { 19 | padding: 0px 0px 0px 0px; 20 | margin: 0px 0px 0px 0px; 21 | } 22 | */ 23 | 24 | div.interfaceFieldsContainer.entity_person_recordInfo_originInfo > div.seed > span:nth-child(1) > div:nth-child(3) 25 | , div.interfaceFieldsContainer.entity_person_recordInfo_originInfo > div.seed > span:nth-child(1) > div:nth-child(4) 26 | { 27 | display: none; 28 | } 29 | 30 | div.interfaceFieldsContainer.entity_person_identity_variantForms_variant div.interfaceFieldsContainer.entity_person_identity_variantForms_variant div.seed 31 | { 32 | margin: 5px 0px 0px 10px; 33 | padding: 2px 2px 2px 2px; 34 | background-color: #f7f7f0; 35 | } 36 | 37 | div.interfaceFieldsContainer.entity_person_identity_preferredForm > div 38 | , div.interfaceFieldsContainer.entity_person_identity_variantForms > div 39 | , div.interfaceFieldsContainer.entity_person_description_occupations > div 40 | , div.interfaceFieldsContainer.entity_person_description_existDates> div 41 | , div.interfaceFieldsContainer.entity_person_description_genders > div 42 | , div.interfaceFieldsContainer.entity_person_description_activities > div 43 | , div.interfaceFieldsContainer.entity_person_description_researchInterests > div 44 | , div.interfaceFieldsContainer.entity_organization_identity_preferredForm > div 45 | , div.interfaceFieldsContainer.entity_organization_identity_variantForms > div 46 | , div.interfaceFieldsContainer.entity_organization_description_existDates> div 47 | , div.interfaceFieldsContainer.entity_place_identity_preferredForm > div 48 | , div.interfaceFieldsContainer.entity_place_identity_variantForms > div 49 | { 50 | margin: 5px 0px 0px 10px; 51 | background-color: #EEEEEE; 52 | } 53 | 54 | textarea{ 55 | resize:none 56 | } 57 | 58 | .modal-body-area { 59 | max-height: 500px; 60 | overflow: auto; 61 | } 62 | 63 | .cwrc-result-area { 64 | max-height: 400px; 65 | overflow: auto; 66 | } 67 | 68 | .cwrc-help { 69 | cursor: pointer; 70 | } 71 | 72 | .popover { 73 | min-width: 300px; 74 | } 75 | 76 | .nomargin { 77 | margin: 0px 0px 0px 0px !important; 78 | padding: 0px 0px 0px 0px !important;; 79 | } 80 | 81 | #CWRCPaginator > ul.hidden 82 | { 83 | display: none; 84 | } 85 | 86 | #VIAFPaginator > ul > li.disabled 87 | , #CWRCPaginator > ul > li.disabled { 88 | display: none; 89 | } 90 | 91 | #VIAFPaginator > ul > li.disabled:nth-child(1) 92 | , #CWRCPaginator > ul > li.disabled:nth-child(1) { 93 | visibility: hidden; 94 | display: initial !important; 95 | } 96 | 97 | /* 98 | 99 | 100 | .linkedDataMessage { 101 | margin: -3px 0px 0px 0px !important; 102 | padding: 0px 0px 0px 0px !important; 103 | 104 | }*/ 105 | 106 | 107 | /* Spinner http://jsfiddle.net/AndrewDryga/zcX4h/1/ */ 108 | /* 109 | .spinner { 110 | display: inline-block; 111 | opacity: 0; 112 | width: 0; 113 | 114 | -webkit-transition: opacity 0.25s, width 0.25s; 115 | -moz-transition: opacity 0.25s, width 0.25s; 116 | -o-transition: opacity 0.25s, width 0.25s; 117 | transition: opacity 0.25s, width 0.25s; 118 | } 119 | 120 | .has-spinner.active { 121 | cursor:progress; 122 | } 123 | 124 | .has-spinner.active .spinner { 125 | opacity: 1; 126 | width: auto; 127 | } 128 | 129 | .has-spinner.btn-mini.active .spinner { 130 | width: 10px; 131 | } 132 | 133 | .has-spinner.btn-small.active .spinner { 134 | width: 13px; 135 | } 136 | 137 | .has-spinner.btn.active .spinner { 138 | width: 16px; 139 | } 140 | 141 | .has-spinner.btn-large.active .spinner { 142 | width: 19px; 143 | } 144 | */ 145 | -------------------------------------------------------------------------------- /src/js/cwrcDialogs/css/cwrcDialogs.css: -------------------------------------------------------------------------------- 1 | .cwrc-result-area { 2 | height: 200px; 3 | overflow: auto; 4 | } -------------------------------------------------------------------------------- /src/js/dialogs/addSchema.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui'], function($, jqueryUi) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | // TODO add validation 7 | $(document.body).append(''+ 8 | '
'+ 9 | '
'+ 10 | ''+ 11 | ''+ 12 | '
'+ 13 | '
'+ 14 | ''+ 15 | ''+ 16 | '
'+ 17 | '
'+ 18 | ''+ 19 | ''+ 20 | '
'+ 21 | '
'); 22 | 23 | var d = $('#addSchemaDialog'); 24 | d.dialog({ 25 | modal: true, 26 | resizable: false, 27 | closeOnEscape: false, 28 | open: function(event, ui) { 29 | $('#addSchemaDialog').parent().find('.ui-dialog-titlebar-close').hide(); 30 | }, 31 | title: 'Add Schema', 32 | height: 170, 33 | width: 300, 34 | autoOpen: false, 35 | buttons: { 36 | 'Add': function() { 37 | var info = {}; 38 | $('#addSchemaDialog input').each(function(index, el) { 39 | info[el.getAttribute('name')] = $(el).val(); 40 | }); 41 | var id = w.schemaManager.addSchema(info); 42 | d.dialog('close'); 43 | }, 44 | 'Cancel': function() { 45 | d.dialog('close'); 46 | } 47 | } 48 | }); 49 | 50 | return { 51 | show: function(config) { 52 | $('#addSchemaDialog input').val(''); 53 | d.dialog('open'); 54 | }, 55 | hide: function() { 56 | d.dialog('close'); 57 | } 58 | }; 59 | }; 60 | 61 | }); -------------------------------------------------------------------------------- /src/js/dialogs/copyPaste.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui'], function($, jqueryUi) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | var firstCopy = true; 7 | var firstPaste = true; 8 | 9 | var cwrcCopy = false; 10 | 11 | var copyMsg = 'It looks like you\'re trying to copy content.
Consider having a look at the Copy & Paste Documentation'; 12 | var pasteMsg = 'It looks like you\'re trying to paste from outside CWRC-Writer. Be aware that all tags will be removed and only plain text will remain.
Consider having a look at the Copy & Paste Documentation'; 13 | 14 | $(document.body).append(''+ 15 | '
'+ 16 | '
'+ 17 | '
'); 18 | 19 | var $copyPasteDialog = $('#copyPasteDialog'); 20 | $copyPasteDialog.dialog({ 21 | title: 'Copy & Paste Help', 22 | modal: true, 23 | resizable: true, 24 | closeOnEscape: true, 25 | height: 150, 26 | width: 350, 27 | autoOpen: false, 28 | dialogClass: 'splitButtons', 29 | buttons: [{ 30 | text: 'Ok', 31 | click: function() { 32 | $copyPasteDialog.dialog('close'); 33 | } 34 | }] 35 | }); 36 | 37 | w.event('contentCopied').subscribe(function() { 38 | cwrcCopy = true; 39 | if (firstCopy) { 40 | firstCopy = false; 41 | cp.show({ 42 | type: 'copy' 43 | }); 44 | } 45 | }); 46 | 47 | w.event('contentPasted').subscribe(function() { 48 | if (firstPaste && !cwrcCopy) { 49 | firstPaste = false; 50 | cp.show({ 51 | type: 'paste' 52 | }); 53 | } 54 | cwrcCopy = false; 55 | }); 56 | 57 | var cp = { 58 | show: function(config) { 59 | var type = config.type; 60 | var modal = config.modal === undefined ? false : config.modal; 61 | 62 | $copyPasteDialog.dialog('option', 'modal', modal); 63 | 64 | var msg; 65 | if (type == 'copy') { 66 | msg = copyMsg; 67 | } else if (type == 'paste') { 68 | msg = pasteMsg; 69 | } 70 | $copyPasteDialog.find('.content').html(msg); 71 | $copyPasteDialog.find('a').on('click', function(e) { 72 | e.preventDefault(); 73 | $copyPasteDialog.dialog('close'); 74 | w.dialogManager.show('help', { 75 | id: 'copyPaste', 76 | title: 'Copy & Paste Help' 77 | }); 78 | }); 79 | 80 | $copyPasteDialog.dialog('open'); 81 | }, 82 | hide: function() { 83 | $copyPasteDialog.dialog('close'); 84 | } 85 | }; 86 | 87 | return cp; 88 | }; 89 | 90 | }); -------------------------------------------------------------------------------- /src/js/dialogs/cwrcCitation.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogs/cwrcDialogBridge'], function($, jqueryUi, cwrcDialogBridge) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | var bridge = new cwrcDialogBridge(w, { 7 | label: 'Citation', 8 | localDialog: 'citation', 9 | cwrcType: 'title' 10 | }); 11 | 12 | return bridge; 13 | }; 14 | 15 | }); -------------------------------------------------------------------------------- /src/js/dialogs/cwrcOrg.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogs/cwrcDialogBridge', 'cwrcDialogs'], function($, jqueryUi, cwrcDialogBridge, cD) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | var schema = null; 7 | if (w.initialConfig.cwrcDialogs != null && w.initialConfig.cwrcDialogs.schemas != null) { 8 | schema = w.initialConfig.cwrcDialogs.schemas.organization; 9 | } 10 | if (schema == null) { 11 | schema = 'js/cwrcDialogs/schemas/entities.rng'; 12 | } 13 | cD.setOrganizationSchema(schema); 14 | 15 | var bridge = new cwrcDialogBridge(w, { 16 | label: 'Organization', 17 | localDialog: 'org', 18 | cwrcType: 'organization' 19 | }); 20 | 21 | return bridge; 22 | }; 23 | 24 | }); -------------------------------------------------------------------------------- /src/js/dialogs/cwrcPerson.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogs/cwrcDialogBridge', 'cwrcDialogs'], function($, jqueryUi, cwrcDialogBridge, cD) { 2 | return function(writer) { 3 | var w = writer; 4 | 5 | var schema = null; 6 | if (w.initialConfig.cwrcDialogs != null && w.initialConfig.cwrcDialogs.schemas != null) { 7 | schema = w.initialConfig.cwrcDialogs.schemas.person; 8 | } 9 | if (schema == null) { 10 | schema = 'js/cwrcDialogs/schemas/entities.rng'; 11 | } 12 | cD.setPersonSchema(schema); 13 | 14 | var bridge = new cwrcDialogBridge(w, { 15 | label: 'Person', 16 | localDialog: 'person', 17 | cwrcType: 'person' 18 | }); 19 | 20 | return bridge; 21 | }; 22 | }); -------------------------------------------------------------------------------- /src/js/dialogs/cwrcPlace.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogs/cwrcDialogBridge', 'cwrcDialogs'], function($, jqueryUi, cwrcDialogBridge, cD) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | var schema = null; 7 | if (w.initialConfig.cwrcDialogs != null && w.initialConfig.cwrcDialogs.schemas != null) { 8 | schema = w.initialConfig.cwrcDialogs.schemas.place; 9 | } 10 | if (schema == null) { 11 | schema = 'js/cwrcDialogs/schemas/entities.rng'; 12 | } 13 | cD.setPlaceSchema(schema); 14 | 15 | var bridge = new cwrcDialogBridge(w, { 16 | label: 'Place', 17 | localDialog: 'place', 18 | cwrcType: 'place' 19 | }); 20 | 21 | return bridge; 22 | }; 23 | 24 | }); -------------------------------------------------------------------------------- /src/js/dialogs/cwrcTitle.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogs/cwrcDialogBridge'], function($, jqueryUi, cwrcDialogBridge) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | var bridge = new cwrcDialogBridge(w, { 7 | label: 'Title', 8 | localDialog: 'title', 9 | cwrcType: 'title' 10 | }); 11 | 12 | return bridge; 13 | }; 14 | 15 | }); -------------------------------------------------------------------------------- /src/js/dialogs/header.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui'], function($, jqueryUi) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | $('#headerButtons').append(''+ 7 | ''); 8 | 9 | $(document.body).append(''+ 10 | '
'+ 11 | '
'+ 12 | '
'); 13 | 14 | var header = $('#headerDialog'); 15 | header.dialog({ 16 | title: 'Edit Header', 17 | modal: true, 18 | resizable: true, 19 | height: 380, 20 | width: 400, 21 | autoOpen: false, 22 | buttons: { 23 | 'Ok': function() { 24 | var editorString = ''+$('#headerDialog textarea').val()+''; 25 | var xml; 26 | try { 27 | xml = $.parseXML(editorString); 28 | } catch(e) { 29 | w.dialogManager.show('message', { 30 | title: 'Invalid XML', 31 | msg: 'There was an error parsing the XML.', 32 | type: 'error' 33 | }); 34 | return false; 35 | } 36 | 37 | var headerString = ''; 38 | $(xml).find('head').children().each(function(index, el) { 39 | headerString += w.converter.buildEditorString(el); 40 | }); 41 | $('[_tag="'+w.header+'"]', w.editor.getBody()).html(headerString); 42 | 43 | header.dialog('close'); 44 | }, 45 | 'Cancel': function() { 46 | header.dialog('close'); 47 | } 48 | } 49 | }); 50 | 51 | function doOpen() { 52 | var headerString = ''; 53 | var headerEl = $('[_tag="'+w.header+'"]', w.editor.getBody()); 54 | headerEl.children().each(function(index, el) { 55 | headerString += w.converter.buildXMLString($(el)); 56 | }); 57 | $('#headerDialog textarea').val(headerString); 58 | header.dialog('open'); 59 | } 60 | 61 | $('#headerLink').click(function() { 62 | doOpen(); 63 | }); 64 | 65 | return { 66 | show: function(config) { 67 | doOpen(); 68 | }, 69 | hide: function() { 70 | header.dialog('close'); 71 | } 72 | }; 73 | }; 74 | 75 | }); -------------------------------------------------------------------------------- /src/js/dialogs/help.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui'], function($, jqueryUi) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | var docsMappings; 7 | 8 | require(['text!docsMappings.js'], function(mappings) { 9 | docsMappings = $.parseJSON(mappings); 10 | }); 11 | 12 | $(document.body).append(''+ 13 | '
'+ 14 | '
'+ 15 | '
'); 16 | 17 | var $helpDialog = $('#helpDialog'); 18 | $helpDialog.dialog({ 19 | modal: true, 20 | resizable: true, 21 | closeOnEscape: true, 22 | height: 650, 23 | width: 650, 24 | autoOpen: false, 25 | dialogClass: 'splitButtons', 26 | buttons: [{ 27 | text: 'View full Documentation', 28 | 'class': 'left', 29 | click: function() { 30 | window.open('http://cwrc.ca/CWRC-Writer_Documentation/'); 31 | } 32 | },{ 33 | text: 'Ok', 34 | click: function() { 35 | $helpDialog.dialog('close'); 36 | } 37 | }] 38 | }); 39 | 40 | function showContent(content) { 41 | $('div.content', $helpDialog).html(content); 42 | 43 | // handle internal docs links (this assumes there are no external doc links) 44 | $('div.content a', $helpDialog).on('click', function(e) { 45 | e.preventDefault(); 46 | var url = $(e.target).attr('href'); 47 | w.delegator.getDocumentation(url, function(doc) { 48 | var content = $(doc).find('body')[0].innerHTML; 49 | showContent(content); 50 | $helpDialog[0].scrollTop = 0; 51 | }); 52 | }); 53 | 54 | $helpDialog.dialog('open'); 55 | } 56 | 57 | return { 58 | show: function(config) { 59 | var title = config.title; 60 | var content = config.content; 61 | var id = config.id; 62 | var modal = config.modal === undefined ? false : config.modal; 63 | 64 | $helpDialog.dialog('option', 'title', title); 65 | $helpDialog.dialog('option', 'modal', modal); 66 | 67 | if (content !== undefined) { 68 | showContent(content); 69 | } else if (id !== undefined) { 70 | var url = docsMappings[id]; 71 | if (url !== undefined) { 72 | w.delegator.getDocumentation(url, function(doc) { 73 | var content = $(doc).find('body')[0].innerHTML; 74 | showContent(content); 75 | }); 76 | } 77 | } 78 | }, 79 | hide: function() { 80 | $helpDialog.dialog('close'); 81 | } 82 | }; 83 | }; 84 | 85 | }); -------------------------------------------------------------------------------- /src/js/dialogs/message.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui'], function($, jqueryUi) { 2 | 3 | return function(writer) { 4 | var w = writer; 5 | 6 | $(document.body).append(''+ 7 | '
'+ 8 | '

'+ 9 | ''+ 10 | ''+ 11 | ''+ 12 | '

'+ 13 | '
'); 14 | 15 | var message = $('#messageDialog'); 16 | message.dialog({ 17 | modal: true, 18 | resizable: true, 19 | closeOnEscape: true, 20 | height: 250, 21 | width: 300, 22 | autoOpen: false 23 | }); 24 | 25 | return { 26 | show: function(config) { 27 | var title = config.title; 28 | var msg = config.msg; 29 | var modal = config.modal == null ? true : config.modal; 30 | var type = config.type; 31 | 32 | $('#messageDialog > p > span[class^=ui-state]').hide(); 33 | if (type == 'info') { 34 | $('#messageDialog > p > span[class=ui-state-highlight]').show(); 35 | } else if (type == 'error') { 36 | $('#messageDialog > p > span[class=ui-state-error]').show(); 37 | } 38 | 39 | message.dialog('option', 'title', title); 40 | message.dialog('option', 'modal', modal); 41 | message.dialog('option', 'buttons', { 42 | 'Ok': function() { 43 | message.dialog('close'); 44 | } 45 | }); 46 | $('#messageDialog > p > span[class=message]').html(msg); 47 | 48 | message.dialog('open'); 49 | }, 50 | confirm: function(config) { 51 | var title = config.title; 52 | var msg = config.msg; 53 | var callback = config.callback; 54 | 55 | $('#messageDialog > p > span[class^=ui-state]').hide(); 56 | 57 | message.dialog('option', 'title', title); 58 | message.dialog('option', 'buttons', { 59 | 'Yes': function() { 60 | message.dialog('close'); 61 | callback(true); 62 | }, 63 | 'No': function() { 64 | message.dialog('close'); 65 | callback(false); 66 | } 67 | }); 68 | $('#messageDialog > p > span[class=message]').html(msg); 69 | 70 | message.dialog('open'); 71 | }, 72 | hide: function() { 73 | message.dialog('close'); 74 | } 75 | }; 76 | }; 77 | 78 | }); -------------------------------------------------------------------------------- /src/js/docsMappings.js: -------------------------------------------------------------------------------- 1 | { 2 | "settings": "Settings.html", 3 | "validation": "Validate_document.html", 4 | "copyPaste": "CWRCWriter_Copy_Splash.html" 5 | } -------------------------------------------------------------------------------- /src/js/layout.js: -------------------------------------------------------------------------------- 1 | function setupLayoutAndModules(w, EntitiesList, Relations, Selection, StructureTree, Validation) { 2 | var $ = require('jquery'); 3 | 4 | w.layout = $('#cwrc_wrapper').layout({ 5 | defaults: { 6 | maskIframesOnResize: true, 7 | resizable: true, 8 | slidable: false 9 | }, 10 | north: { 11 | size: 35, 12 | spacing_open: 0, 13 | minSize: 35, 14 | maxSize: 60, 15 | closable: false 16 | }, 17 | west: { 18 | size: 'auto', 19 | minSize: 325, 20 | onresize: function(region, pane, state, options) { 21 | var tabsHeight = $('#westTabs > ul').outerHeight(); 22 | $('#westTabsContent').height(state.layoutHeight - tabsHeight); 23 | // $.layout.callbacks.resizeTabLayout(region, pane); 24 | } 25 | } 26 | }); 27 | w.layout.panes.center.layout({ 28 | defaults: { 29 | maskIframesOnResize: true, 30 | resizable: true, 31 | slidable: false 32 | }, 33 | center: { 34 | onresize: function(region, pane, state, options) { 35 | var uiHeight = 4; 36 | var toolbar = $('.mce-toolbar-grp', w.editor.getContainer()); 37 | if (toolbar.is(':visible')) { 38 | uiHeight += toolbar.outerHeight(); 39 | } 40 | $('iframe', w.editor.getContainer()).height(state.layoutHeight - uiHeight); 41 | } 42 | }, 43 | south: { 44 | size: 250, 45 | resizable: true, 46 | initClosed: true, 47 | activate: function(event, ui) { 48 | $.layout.callbacks.resizeTabLayout(event, ui); 49 | }, 50 | // onopen_start: function(region, pane, state, options) { 51 | // var southTabs = $('#southTabs'); 52 | // if (!southTabs.hasClass('ui-tabs')) { 53 | // 54 | // } 55 | // }, 56 | onresize: function(region, pane, state, options) { 57 | var tabsHeight = $('#southTabs > ul').outerHeight(); 58 | $('#southTabsContent').height(state.layoutHeight - tabsHeight); 59 | } 60 | } 61 | }); 62 | 63 | $('#cwrc_header h1').click(function() { 64 | window.location = 'http://www.cwrc.ca'; 65 | }); 66 | 67 | new StructureTree({writer: w, parentId: 'westTabsContent'}); 68 | new EntitiesList({writer: w, parentId: 'westTabsContent'}); 69 | new Relations({writer: w, parentId: 'westTabsContent'}); 70 | new Validation({writer: w, parentId: 'southTabsContent'}); 71 | new Selection({writer: w, parentId: 'southTabsContent'}); 72 | 73 | $('#westTabs').tabs({ 74 | active: 1, 75 | activate: function(event, ui) { 76 | $.layout.callbacks.resizeTabLayout(event, ui); 77 | }, 78 | create: function(event, ui) { 79 | $('#westTabs').parent().find('.ui-corner-all:not(button)').removeClass('ui-corner-all'); 80 | } 81 | }); 82 | $('#southTabs').tabs({ 83 | active: 1, 84 | activate: function(event, ui) { 85 | $.layout.callbacks.resizeTabLayout(event, ui); 86 | }, 87 | create: function(event, ui) { 88 | $('#southTabs').parent().find('.ui-corner-all:not(button)').removeClass('ui-corner-all'); 89 | } 90 | }); 91 | 92 | var isLoading = false; 93 | var doneLayout = false; 94 | var onLoad = function() { 95 | isLoading = true; 96 | }; 97 | var onLoadDone = function() { 98 | isLoading = false; 99 | if (doneLayout) { 100 | $('#cwrc_loadingMask').fadeOut(); 101 | w.event('documentLoaded').unsubscribe(onLoadDone); 102 | } 103 | }; 104 | w.event('loadingDocument').subscribe(onLoad); 105 | w.event('documentLoaded').subscribe(onLoadDone); 106 | 107 | setTimeout(function() { 108 | w.layout.options.onresizeall_end = function() { 109 | doneLayout = true; 110 | if (isLoading === false) { 111 | $('#cwrc_loadingMask').fadeOut(); 112 | w.layout.options.onresizeall_end = null; 113 | } 114 | }; 115 | w.layout.resizeAll(); // now that the editor is loaded, set proper sizing 116 | }, 250); 117 | } -------------------------------------------------------------------------------- /src/js/lib/fonts/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/fonts/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/js/lib/fonts/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/fonts/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/js/lib/fonts/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/fonts/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/js/lib/fonts/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/fonts/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/js/lib/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/js/lib/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/js/lib/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/js/lib/jquery/jquery.collapsiblepanel.css: -------------------------------------------------------------------------------- 1 | .collapsibleContainer { 2 | } 3 | 4 | .collapsibleContainerTitle { 5 | cursor:pointer; 6 | margin-bottom: 0px !important; 7 | } 8 | 9 | .collapsibleContainerTitle ins { 10 | float: left; 11 | margin-top: 4px; 12 | margin-left: 1px; 13 | } 14 | 15 | .collapsibleContainerTitle div { 16 | padding-top:5px; 17 | padding-left:10px; 18 | margin-bottom:5px; 19 | } 20 | 21 | .collapsibleContainerContent { 22 | padding: 10px; 23 | } -------------------------------------------------------------------------------- /src/js/lib/jquery/jquery.collapsiblepanel.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $.fn.extend({ 3 | collapsiblePanel: function() { 4 | // Call the ConfigureCollapsiblePanel function for the selected element 5 | return $(this).each(function (index, el) { 6 | $(this).addClass("ui-widget"); 7 | 8 | // Wrap the contents of the container within a new div. 9 | $(this).children().wrapAll("
"); 10 | 11 | // Create a new div as the first item within the container. Put the title of the panel in here. 12 | $("
 
" + $(this).attr("title") + "
").prependTo($(this)); 13 | 14 | // Assign a call to CollapsibleContainerTitleOnClick for the click event of the new title div. 15 | $(".collapsibleContainerTitle", this).click(CollapsibleContainerTitleOnClick); 16 | }); 17 | } 18 | }); 19 | 20 | })(jQuery); 21 | 22 | function CollapsibleContainerTitleOnClick() { 23 | // The item clicked is the title div... get this parent (the overall container) and toggle the content within it. 24 | $('ins', this).toggleClass('ui-icon-triangle-1-se').toggleClass('ui-icon-triangle-1-e'); 25 | if ($(this).next().css('display') == 'none') $(this).removeClass('ui-corner-bottom'); 26 | $(".collapsibleContainerContent", $(this).parent()).slideToggle(350, function() { 27 | if ($(this).css('display') == 'none') { 28 | $(this).prev().addClass('ui-corner-bottom'); 29 | } 30 | }); 31 | } -------------------------------------------------------------------------------- /src/js/lib/jquery/jquery.contextmenu.js: -------------------------------------------------------------------------------- 1 | define('jquery.contextmenu',['jquery'], function(jQuery) { 2 | (function($){var menu,shadow,trigger,content,hash,currentTarget;var defaults={menuStyle:{listStyle:'none',padding:'1px',margin:'0px',backgroundColor:'#fff',border:'1px solid #999',width:'100px'},itemStyle:{margin:'0px',color:'#000',display:'block',cursor:'default',padding:'3px',border:'1px solid #fff',backgroundColor:'transparent'},itemHoverStyle:{border:'1px solid #0a246a',backgroundColor:'#b6bdd2'},eventPosX:'pageX',eventPosY:'pageY',shadow:true,onContextMenu:null,onShowMenu:null};$.fn.contextMenu=function(id,options){if(!menu){menu=$('
').hide().css({position:'absolute',zIndex:'500'}).appendTo('body').bind('click',function(e){e.stopPropagation()})}if(!shadow){shadow=$('
').css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499}).appendTo('body').hide()}hash=hash||[];hash.push({id:id,menuStyle:$.extend({},defaults.menuStyle,options.menuStyle||{}),itemStyle:$.extend({},defaults.itemStyle,options.itemStyle||{}),itemHoverStyle:$.extend({},defaults.itemHoverStyle,options.itemHoverStyle||{}),bindings:options.bindings||{},shadow:options.shadow||options.shadow===false?options.shadow:defaults.shadow,onContextMenu:options.onContextMenu||defaults.onContextMenu,onShowMenu:options.onShowMenu||defaults.onShowMenu,eventPosX:options.eventPosX||defaults.eventPosX,eventPosY:options.eventPosY||defaults.eventPosY});var index=hash.length-1;$(this).bind('contextmenu',function(e){var bShowContext=(!!hash[index].onContextMenu)?hash[index].onContextMenu(e):true;if(bShowContext)display(index,this,e,options);return false});return this};function display(index,trigger,e,options){var cur=hash[index];content=$('#'+cur.id).find('ul:first').clone(true);content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(function(){$(this).css(cur.itemHoverStyle)},function(){$(this).css(cur.itemStyle)}).find('img').css({verticalAlign:'middle',paddingRight:'2px'});menu.html(content);if(!!cur.onShowMenu)menu=cur.onShowMenu(e,menu);$.each(cur.bindings,function(id,func){$('#'+id,menu).bind('click',function(e){hide();func(trigger,currentTarget)})});menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();if(cur.shadow)shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();$(document).one('click',hide)}function hide(){menu.hide();shadow.hide()}$.contextMenu={defaults:function(userDefaults){$.each(userDefaults,function(i,val){if(typeof val=='object'&&defaults[i]){$.extend(defaults[i],val)}else defaults[i]=val})}}})(jQuery); 3 | // @nbanks 4 | // http://www.trendskitchens.co.nz/jquery/contextmenu/ 5 | // This seems to be from here: http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.js 6 | // It hasn't changed since 2007 so we're just gonna fix it our selves. 7 | (function($) { 8 | $(function(){$('div.contextMenu').hide()}); 9 | }(jQuery));} 10 | ); 11 | -------------------------------------------------------------------------------- /src/js/lib/jquery/jquery.layout.resizeTabLayout-1.3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * UI Layout Callback: resizeTabLayout 3 | * 4 | * Requires Layout 1.3.0.rc29.15 or later 5 | * 6 | * This callback is used when a tab-panel is the container for a layout 7 | * The tab-layout can be initialized either before or after the tabs are created 8 | * Assign this callback to the tabs.show event: 9 | * - if the layout HAS been fully initialized already, it will be resized 10 | * - if the layout has NOT fully initialized, it will attempt to do so 11 | * - if it cannot initialize, it will try again next time the tab is accessed 12 | * - it also looks for ANY visible layout *inside* teh tab and resize/init it 13 | * 14 | * SAMPLE: 15 | * < jQuery UI 1.9: $("#elem").tabs({ show: $.layout.callbacks.resizeTabLayout }); 16 | * > jQuery UI 1.9: $("#elem").tabs({ activate: $.layout.callbacks.resizeTabLayout }); 17 | * $("body").layout({ center__onresize: $.layout.callbacks.resizeTabLayout }); 18 | * 19 | * Version: 1.3 - 2013-01-12 20 | * Author: Kevin Dalman (kevin.dalman@gmail.com) 21 | */ 22 | define('jquery.tablayout',['jquery'], function(jQuery) { 23 | ;(function ($) { 24 | var _ = $.layout; 25 | 26 | // make sure the callbacks branch exists 27 | if (!_.callbacks) _.callbacks = {}; 28 | 29 | // this callback is bound to the tabs.show event OR to layout-pane.onresize event 30 | _.callbacks.resizeTabLayout = function (x, ui) { 31 | // may be called EITHER from layout-pane.onresize OR tabs.show/activate 32 | var $P = ui.jquery ? ui : $(ui.newPanel || ui.panel); 33 | // find all VISIBLE layouts inside this pane/panel and resize them 34 | $P.filter(":visible").find(".ui-layout-container:visible").andSelf().each(function(){ 35 | var layout = $(this).data("layout"); 36 | if (layout) { 37 | layout.options.resizeWithWindow = false; // set option just in case not already set 38 | layout.resizeAll(); 39 | } 40 | }); 41 | }; 42 | })( jQuery );} 43 | ); -------------------------------------------------------------------------------- /src/js/lib/jquery/jquery.watermark.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | Watermark v3.1.3 (March 22, 2011) plugin for jQuery 3 | http://jquery-watermark.googlecode.com/ 4 | Copyright (c) 2009-2011 Todd Northrop 5 | http://www.speednet.biz/ 6 | Dual licensed under the MIT or GPL Version 2 licenses. 7 | */ 8 | define('jquery.watermark',['jquery'], function(jQuery) { 9 | (function(a,h,y){var w="function",v="password",j="maxLength",n="type",b="",c=true,u="placeholder",i=false,t="watermark",g=t,f="watermarkClass",q="watermarkFocus",l="watermarkSubmit",o="watermarkMaxLength",e="watermarkPassword",d="watermarkText",k=/\r/g,s="input:data("+g+"),textarea:data("+g+")",m="input:text,input:password,input[type=search],input:not([type]),textarea",p=["Page_ClientValidate"],r=i,x=u in document.createElement("input");a.watermark=a.watermark||{version:"3.1.3",runOnce:c,options:{className:t,useNative:c,hideBeforeUnload:c},hide:function(b){a(b).filter(s).each(function(){a.watermark._hide(a(this))})},_hide:function(a,r){var p=a[0],q=(p.value||b).replace(k,b),l=a.data(d)||b,m=a.data(o)||0,i=a.data(f);if(l.length&&q==l){p.value=b;if(a.data(e))if((a.attr(n)||b)==="text"){var g=a.data(e)||[],c=a.parent()||[];if(g.length&&c.length){c[0].removeChild(a[0]);c[0].appendChild(g[0]);a=g}}if(m){a.attr(j,m);a.removeData(o)}if(r){a.attr("autocomplete","off");h.setTimeout(function(){a.select()},1)}}i&&a.removeClass(i)},show:function(b){a(b).filter(s).each(function(){a.watermark._show(a(this))})},_show:function(g){var p=g[0],u=(p.value||b).replace(k,b),h=g.data(d)||b,s=g.attr(n)||b,t=g.data(f);if((u.length==0||u==h)&&!g.data(q)){r=c;if(g.data(e))if(s===v){var m=g.data(e)||[],l=g.parent()||[];if(m.length&&l.length){l[0].removeChild(g[0]);l[0].appendChild(m[0]);g=m;g.attr(j,h.length);p=g[0]}}if(s==="text"||s==="search"){var i=g.attr(j)||0;if(i>0&&h.length>i){g.data(o,i);g.attr(j,h.length)}}t&&g.addClass(t);p.value=h}else a.watermark._hide(g)},hideAll:function(){if(r){a.watermark.hide(m);r=i}},showAll:function(){a.watermark.show(m)}};a.fn.watermark=a.fn.watermark||function(p,o){var t="string";if(!this.length)return this;var s=i,r=typeof p===t;if(r)p=p.replace(k,b);if(typeof o==="object"){s=typeof o.className===t;o=a.extend({},a.watermark.options,o)}else if(typeof o===t){s=c;o=a.extend({},a.watermark.options,{className:o})}else o=a.watermark.options;if(typeof o.useNative!==w)o.useNative=o.useNative?function(){return c}:function(){return i};return this.each(function(){var B="dragleave",A="dragenter",z=this,i=a(z);if(!i.is(m))return;if(i.data(g)){if(r||s){a.watermark._hide(i);r&&i.data(d,p);s&&i.data(f,o.className)}}else{if(x&&o.useNative.call(z,i)&&(i.attr("tagName")||b)!=="TEXTAREA"){r&&i.attr(u,p);return}i.data(d,r?p:b);i.data(f,o.className);i.data(g,1);if((i.attr(n)||b)===v){var C=i.wrap("").parent(),t=a(C.html().replace(/type=["']?password["']?/i,'type="text"'));t.data(d,i.data(d));t.data(f,i.data(f));t.data(g,1);t.attr(j,p.length);t.focus(function(){a.watermark._hide(t,c)}).bind(A,function(){a.watermark._hide(t)}).bind("dragend",function(){h.setTimeout(function(){t.blur()},1)});i.blur(function(){a.watermark._show(i)}).bind(B,function(){a.watermark._show(i)});t.data(e,i);i.data(e,t)}else i.focus(function(){i.data(q,1);a.watermark._hide(i,c)}).blur(function(){i.data(q,0);a.watermark._show(i)}).bind(A,function(){a.watermark._hide(i)}).bind(B,function(){a.watermark._show(i)}).bind("dragend",function(){h.setTimeout(function(){a.watermark._show(i)},1)}).bind("drop",function(e){var c=i[0],a=e.originalEvent.dataTransfer.getData("Text");if((c.value||b).replace(k,b).replace(a,b)===i.data(d))c.value=a;i.focus()});if(z.form){var w=z.form,y=a(w);if(!y.data(l)){y.submit(a.watermark.hideAll);if(w.submit){y.data(l,w.submit);w.submit=function(c,b){return function(){var d=b.data(l);a.watermark.hideAll();if(d.apply)d.apply(c,Array.prototype.slice.call(arguments));else d()}}(w,y)}else{y.data(l,1);w.submit=function(b){return function(){a.watermark.hideAll();delete b.submit;b.submit()}}(w)}}}}a.watermark._show(i)})};if(a.watermark.runOnce){a.watermark.runOnce=i;a.extend(a.expr[":"],{data:function(c,d,b){return!!a.data(c,b[3])}});(function(c){a.fn.val=function(){var e=this;if(!e.length)return arguments.length?e:y;if(!arguments.length)if(e.data(g)){var f=(e[0].value||b).replace(k,b);return f===(e.data(d)||b)?b:f}else return c.apply(e,arguments);else{c.apply(e,arguments);a.watermark.show(e);return e}}})(a.fn.val);p.length&&a(function(){for(var b,c,d=p.length-1;d>=0;d--){b=p[d];c=h[b];if(typeof c===w)h[b]=function(b){return function(){a.watermark.hideAll();return b.apply(null,Array.prototype.slice.call(arguments))}}(c)}});a(h).bind("beforeunload",function(){a.watermark.options.hideBeforeUnload&&a.watermark.hideAll()})}})(jQuery,window); 10 | }); -------------------------------------------------------------------------------- /src/js/lib/jstree/jquery.hotkeys.js: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery Hotkeys Plugin 3 | * Copyright 2010, John Resig 4 | * Dual licensed under the MIT or GPL Version 2 licenses. 5 | * 6 | * Based upon the plugin by Tzury Bar Yochay: 7 | * http://github.com/tzuryby/hotkeys 8 | * 9 | * Original idea by: 10 | * Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/ 11 | */ 12 | 13 | (function(jQuery){ 14 | 15 | jQuery.hotkeys = { 16 | version: "0.8", 17 | 18 | specialKeys: { 19 | 8: "backspace", 9: "tab", 13: "return", 16: "shift", 17: "ctrl", 18: "alt", 19: "pause", 20 | 20: "capslock", 27: "esc", 32: "space", 33: "pageup", 34: "pagedown", 35: "end", 36: "home", 21 | 37: "left", 38: "up", 39: "right", 40: "down", 45: "insert", 46: "del", 22 | 96: "0", 97: "1", 98: "2", 99: "3", 100: "4", 101: "5", 102: "6", 103: "7", 23 | 104: "8", 105: "9", 106: "*", 107: "+", 109: "-", 110: ".", 111 : "/", 24 | 112: "f1", 113: "f2", 114: "f3", 115: "f4", 116: "f5", 117: "f6", 118: "f7", 119: "f8", 25 | 120: "f9", 121: "f10", 122: "f11", 123: "f12", 144: "numlock", 145: "scroll", 191: "/", 224: "meta" 26 | }, 27 | 28 | shiftNums: { 29 | "`": "~", "1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&", 30 | "8": "*", "9": "(", "0": ")", "-": "_", "=": "+", ";": ": ", "'": "\"", ",": "<", 31 | ".": ">", "/": "?", "\\": "|" 32 | } 33 | }; 34 | 35 | function keyHandler( handleObj ) { 36 | // Only care when a possible input has been specified 37 | if ( typeof handleObj.data !== "string" ) { 38 | return; 39 | } 40 | 41 | var origHandler = handleObj.handler, 42 | keys = handleObj.data.toLowerCase().split(" "); 43 | 44 | handleObj.handler = function( event ) { 45 | // Don't fire in text-accepting inputs that we didn't directly bind to 46 | if ( this !== event.target && (/textarea|select/i.test( event.target.nodeName ) || 47 | event.target.type === "text") ) { 48 | return; 49 | } 50 | 51 | // Keypress represents characters, not special keys 52 | var special = event.type !== "keypress" && jQuery.hotkeys.specialKeys[ event.which ], 53 | character = String.fromCharCode( event.which ).toLowerCase(), 54 | key, modif = "", possible = {}; 55 | 56 | // check combinations (alt|ctrl|shift+anything) 57 | if ( event.altKey && special !== "alt" ) { 58 | modif += "alt+"; 59 | } 60 | 61 | if ( event.ctrlKey && special !== "ctrl" ) { 62 | modif += "ctrl+"; 63 | } 64 | 65 | // TODO: Need to make sure this works consistently across platforms 66 | if ( event.metaKey && !event.ctrlKey && special !== "meta" ) { 67 | modif += "meta+"; 68 | } 69 | 70 | if ( event.shiftKey && special !== "shift" ) { 71 | modif += "shift+"; 72 | } 73 | 74 | if ( special ) { 75 | possible[ modif + special ] = true; 76 | 77 | } else { 78 | possible[ modif + character ] = true; 79 | possible[ modif + jQuery.hotkeys.shiftNums[ character ] ] = true; 80 | 81 | // "$" can be triggered as "Shift+4" or "Shift+$" or just "$" 82 | if ( modif === "shift+" ) { 83 | possible[ jQuery.hotkeys.shiftNums[ character ] ] = true; 84 | } 85 | } 86 | 87 | for ( var i = 0, l = keys.length; i < l; i++ ) { 88 | if ( possible[ keys[i] ] ) { 89 | return origHandler.apply( this, arguments ); 90 | } 91 | } 92 | }; 93 | } 94 | 95 | jQuery.each([ "keydown", "keyup", "keypress" ], function() { 96 | jQuery.event.special[ this ] = { add: keyHandler }; 97 | }); 98 | 99 | })( jQuery ); -------------------------------------------------------------------------------- /src/js/lib/jstree/themes/cwrc/32px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/jstree/themes/cwrc/32px.png -------------------------------------------------------------------------------- /src/js/lib/jstree/themes/cwrc/40px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/jstree/themes/cwrc/40px.png -------------------------------------------------------------------------------- /src/js/lib/jstree/themes/cwrc/cwrc.css: -------------------------------------------------------------------------------- 1 | /* jstree overrides */ 2 | #vakata-dragged { 3 | display: block; 4 | overflow: hidden; 5 | background-color: #fff; 6 | border: 1px solid #D4D0C8; 7 | border-radius: 4px; 8 | padding: 4px !important; 9 | } 10 | 11 | #vakata-dragged ins { 12 | background-image: url("../smoothness/images/ui-icons_ffffff_256x240.png") !important; 13 | background-repeat: no-repeat !important; 14 | position: relative !important; 15 | display: inline-block !important; 16 | margin-right: 4px !important; 17 | top: 0 !important; 18 | left: 0 !important; 19 | vertical-align: bottom; 20 | } 21 | 22 | #vakata-dragged ins.jstree-ok { 23 | background-position: -64px -144px; 24 | } 25 | 26 | #vakata-dragged ins.jstree-invalid { 27 | background-position: -96px -128px; 28 | } 29 | 30 | #vakata-dragged span.jstree-copy { 31 | background: url("../smoothness/images/ui-icons_222222_256x240.png") -16px -128px no-repeat !important; 32 | display: inline-block; 33 | width: 16px; 34 | height: 16px; 35 | margin-left: -2px; 36 | vertical-align: bottom; 37 | } 38 | 39 | #jstree-marker { 40 | background: url("../smoothness/images/ui-icons_222222_256x240.png") -32px -16px no-repeat !important; 41 | width: 16px !important; 42 | height: 16px !important; 43 | text-indent: -100px; 44 | } 45 | 46 | #vakata-contextmenu, #vakata-contextmenu ul li ul { 47 | border: 1px solid #D4D0C8 !important; 48 | background-color: #fff !important; 49 | box-shadow: 1px 1px 2px #ccc; 50 | } 51 | #vakata-contextmenu, #vakata-contextmenu ul { 52 | min-width: 165px !important; 53 | } 54 | 55 | #vakata-contextmenu li ins, #jqContextMenu li ins { 56 | margin: 2px 2px 0 2px !important; 57 | } 58 | 59 | #vakata-contextmenu .submenu > a span { 60 | background-image: url("../img/menu_arrow.gif"); 61 | color: #fff; 62 | display: block; 63 | float: right; 64 | width: 20px; 65 | height: 20px; 66 | } 67 | 68 | #vakata-contextmenu .submenu .filterParent { 69 | position: absolute; 70 | display: none; 71 | background-color: #fff !important; 72 | border: 1px solid #D4D0C8 !important; 73 | box-shadow: 1px 1px 2px #CCCCCC; 74 | } 75 | 76 | #vakata-contextmenu .submenu .filterParent span { 77 | margin: 2px 3px; 78 | font-size: 11px; 79 | } 80 | 81 | #vakata-contextmenu .submenu .filterParent input { 82 | margin: 2px 3px 2px 0; 83 | width: 90px; 84 | position: relative; 85 | font-size: 11px; 86 | border: 1px solid #D4D0C8; 87 | } 88 | 89 | #jqContextMenu li.separator { 90 | border-top: 1px solid #DDDDDD !important; 91 | } 92 | 93 | #jqContextMenu li ins { 94 | float: left; 95 | height: 16px; 96 | margin-right: 2px; 97 | text-decoration: none; 98 | width: 16px; 99 | } 100 | 101 | #vakata-contextmenu li a { 102 | font-family: Tahoma,Verdana,Arial,Helvetica !important; 103 | font-size: 11px !important; 104 | color: #000 !important; 105 | line-height: 22px !important; 106 | padding: 0 !important; 107 | margin: 0 !important; 108 | } 109 | 110 | #vakata-contextmenu li a:hover, #vakata-contextmenu li.vakata-hover > a { 111 | color: #000 !important; 112 | background-color: #DBECF3 !important; 113 | } 114 | 115 | #tree.jstree li.person { 116 | background-color: #FFCCCC; 117 | } 118 | #tree.jstree li.place { 119 | background-color: #A9D6D6; 120 | } 121 | #tree.jstree li.date { 122 | background-color: #FFD5B3; 123 | } 124 | #tree.jstree li.event { 125 | background-color: #9FDF9F; 126 | } 127 | #tree.jstree li.org { 128 | background-color: #BDB4D5; 129 | } 130 | #tree.jstree li.citation { 131 | background-color: #E6B3CF; 132 | } 133 | #tree.jstree li.note { 134 | background-color: #9CAFC4; 135 | } 136 | #tree.jstree li.title { 137 | background-color: #F6E78D; 138 | } 139 | #tree.jstree li.correction { 140 | background-color: #FFC2B3; 141 | } 142 | #tree.jstree li.keyword { 143 | background-color: #8EECBD; 144 | } 145 | #tree.jstree li.link { 146 | background-color: #94AFFF; 147 | } -------------------------------------------------------------------------------- /src/js/lib/jstree/themes/cwrc/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/jstree/themes/cwrc/throbber.gif -------------------------------------------------------------------------------- /src/js/lib/reworkcss/stringify/compiler.js: -------------------------------------------------------------------------------- 1 | define([], function() { 2 | 3 | /** 4 | * Initialize a compiler. 5 | * 6 | * @param {Type} name 7 | * @return {Type} 8 | * @api public 9 | */ 10 | 11 | function Compiler(opts) { 12 | this.options = opts || {}; 13 | } 14 | 15 | /** 16 | * Emit `str` 17 | */ 18 | 19 | Compiler.prototype.emit = function(str) { 20 | return str; 21 | }; 22 | 23 | /** 24 | * Visit `node`. 25 | */ 26 | 27 | Compiler.prototype.visit = function(node){ 28 | return this[node.type](node); 29 | }; 30 | 31 | /** 32 | * Map visit over array of `nodes`, optionally using a `delim` 33 | */ 34 | 35 | Compiler.prototype.mapVisit = function(nodes, delim){ 36 | var buf = ''; 37 | delim = delim || ''; 38 | 39 | for (var i = 0, length = nodes.length; i < length; i++) { 40 | buf += this.visit(nodes[i]); 41 | if (delim && i < length - 1) buf += this.emit(delim); 42 | } 43 | 44 | return buf; 45 | }; 46 | 47 | /** 48 | * Expose `Compiler`. 49 | */ 50 | 51 | return Compiler; 52 | 53 | }); -------------------------------------------------------------------------------- /src/js/lib/reworkcss/stringify/compress.js: -------------------------------------------------------------------------------- 1 | define(['css.compiler', 'inherits'], function(Base, inherits) { 2 | 3 | /** 4 | * Initialize a new `Compiler`. 5 | */ 6 | 7 | function Compiler(options) { 8 | Base.call(this, options); 9 | } 10 | 11 | /** 12 | * Inherit from `Base.prototype`. 13 | */ 14 | 15 | inherits(Compiler, Base); 16 | 17 | /** 18 | * Compile `node`. 19 | */ 20 | 21 | Compiler.prototype.compile = function(node){ 22 | return node.stylesheet 23 | .rules.map(this.visit, this) 24 | .join(''); 25 | }; 26 | 27 | /** 28 | * Visit comment node. 29 | */ 30 | 31 | Compiler.prototype.comment = function(node){ 32 | return this.emit('', node.position); 33 | }; 34 | 35 | /** 36 | * Visit import node. 37 | */ 38 | 39 | Compiler.prototype.import = function(node){ 40 | return this.emit('@import ' + node.import + ';', node.position); 41 | }; 42 | 43 | /** 44 | * Visit media node. 45 | */ 46 | 47 | Compiler.prototype.media = function(node){ 48 | return this.emit('@media ' + node.media, node.position) 49 | + this.emit('{') 50 | + this.mapVisit(node.rules) 51 | + this.emit('}'); 52 | }; 53 | 54 | /** 55 | * Visit document node. 56 | */ 57 | 58 | Compiler.prototype.document = function(node){ 59 | var doc = '@' + (node.vendor || '') + 'document ' + node.document; 60 | 61 | return this.emit(doc, node.position) 62 | + this.emit('{') 63 | + this.mapVisit(node.rules) 64 | + this.emit('}'); 65 | }; 66 | 67 | /** 68 | * Visit charset node. 69 | */ 70 | 71 | Compiler.prototype.charset = function(node){ 72 | return this.emit('@charset ' + node.charset + ';', node.position); 73 | }; 74 | 75 | /** 76 | * Visit namespace node. 77 | */ 78 | 79 | Compiler.prototype.namespace = function(node){ 80 | return this.emit('@namespace ' + node.namespace + ';', node.position); 81 | }; 82 | 83 | /** 84 | * Visit supports node. 85 | */ 86 | 87 | Compiler.prototype.supports = function(node){ 88 | return this.emit('@supports ' + node.supports, node.position) 89 | + this.emit('{') 90 | + this.mapVisit(node.rules) 91 | + this.emit('}'); 92 | }; 93 | 94 | /** 95 | * Visit keyframes node. 96 | */ 97 | 98 | Compiler.prototype.keyframes = function(node){ 99 | return this.emit('@' 100 | + (node.vendor || '') 101 | + 'keyframes ' 102 | + node.name, node.position) 103 | + this.emit('{') 104 | + this.mapVisit(node.keyframes) 105 | + this.emit('}'); 106 | }; 107 | 108 | /** 109 | * Visit keyframe node. 110 | */ 111 | 112 | Compiler.prototype.keyframe = function(node){ 113 | var decls = node.declarations; 114 | 115 | return this.emit(node.values.join(','), node.position) 116 | + this.emit('{') 117 | + this.mapVisit(decls) 118 | + this.emit('}'); 119 | }; 120 | 121 | /** 122 | * Visit page node. 123 | */ 124 | 125 | Compiler.prototype.page = function(node){ 126 | var sel = node.selectors.length 127 | ? node.selectors.join(', ') 128 | : ''; 129 | 130 | return this.emit('@page ' + sel, node.position) 131 | + this.emit('{') 132 | + this.mapVisit(node.declarations) 133 | + this.emit('}'); 134 | }; 135 | 136 | /** 137 | * Visit font-face node. 138 | */ 139 | 140 | Compiler.prototype['font-face'] = function(node){ 141 | return this.emit('@font-face', node.position) 142 | + this.emit('{') 143 | + this.mapVisit(node.declarations) 144 | + this.emit('}'); 145 | }; 146 | 147 | /** 148 | * Visit host node. 149 | */ 150 | 151 | Compiler.prototype.host = function(node){ 152 | return this.emit('@host', node.position) 153 | + this.emit('{') 154 | + this.mapVisit(node.rules) 155 | + this.emit('}'); 156 | }; 157 | 158 | /** 159 | * Visit custom-media node. 160 | */ 161 | 162 | Compiler.prototype['custom-media'] = function(node){ 163 | return this.emit('@custom-media ' + node.name + ' ' + node.media + ';', node.position); 164 | }; 165 | 166 | /** 167 | * Visit rule node. 168 | */ 169 | 170 | Compiler.prototype.rule = function(node){ 171 | var decls = node.declarations; 172 | if (!decls.length) return ''; 173 | 174 | return this.emit(node.selectors.join(','), node.position) 175 | + this.emit('{') 176 | + this.mapVisit(decls) 177 | + this.emit('}'); 178 | }; 179 | 180 | /** 181 | * Visit declaration node. 182 | */ 183 | 184 | Compiler.prototype.declaration = function(node){ 185 | return this.emit(node.property + ':' + node.value, node.position) + this.emit(';'); 186 | }; 187 | 188 | /** 189 | * Expose compiler. 190 | */ 191 | 192 | return Compiler; 193 | 194 | }); -------------------------------------------------------------------------------- /src/js/lib/reworkcss/stringify/inherits.js: -------------------------------------------------------------------------------- 1 | define([], function() { 2 | 3 | if (typeof Object.create === 'function') { 4 | // implementation from standard node.js 'util' module 5 | return function(ctor, superCtor) { 6 | ctor.super_ = superCtor 7 | ctor.prototype = Object.create(superCtor.prototype, { 8 | constructor: { 9 | value: ctor, 10 | enumerable: false, 11 | writable: true, 12 | configurable: true 13 | } 14 | }); 15 | }; 16 | } else { 17 | // old school shim for old browsers 18 | return function(ctor, superCtor) { 19 | ctor.super_ = superCtor 20 | var TempCtor = function () {} 21 | TempCtor.prototype = superCtor.prototype 22 | ctor.prototype = new TempCtor() 23 | ctor.prototype.constructor = ctor 24 | } 25 | } 26 | 27 | }); 28 | -------------------------------------------------------------------------------- /src/js/lib/reworkcss/stringify/stringify.js: -------------------------------------------------------------------------------- 1 | // adapted from: https://github.com/reworkcss/css 2 | 3 | define(['css.compress', 'css.identity'], function(Compressed, Identity) { 4 | 5 | /** 6 | * Stringfy the given AST `node`. 7 | * 8 | * Options: 9 | * 10 | * - `compress` space-optimized output 11 | * - `sourcemap` return an object with `.code` and `.map` 12 | * 13 | * @param {Object} node 14 | * @param {Object} [options] 15 | * @return {String} 16 | * @api public 17 | */ 18 | 19 | return function(node, options){ 20 | options = options || {}; 21 | 22 | var compiler = options.compress 23 | ? new Compressed(options) 24 | : new Identity(options); 25 | 26 | // source maps 27 | if (options.sourcemap) { 28 | var sourcemaps = require('./source-map-support'); 29 | sourcemaps(compiler); 30 | 31 | var code = compiler.compile(node); 32 | compiler.applySourceMaps(); 33 | 34 | var map = options.sourcemap === 'generator' 35 | ? compiler.map 36 | : compiler.map.toJSON(); 37 | 38 | return { code: code, map: map }; 39 | } 40 | 41 | var code = compiler.compile(node); 42 | return code; 43 | }; 44 | 45 | }); -------------------------------------------------------------------------------- /src/js/lib/snippet/jquery.snippet.css: -------------------------------------------------------------------------------- 1 | .sh_typical{background:none; padding:0; margin:0; border:0 none;}.sh_typical .sh_sourceCode{background-color:#fff;color:#000;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_keyword{color:#00f;font-weight:bold;font-style:normal;}.sh_typical .sh_sourceCode .sh_type{color:#00f;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_string{color:#f00;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_regexp{color:#f00;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_specialchar{color:#C42DA8;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_comment{color:#666;font-weight:normal;font-style:italic;}.sh_typical .sh_sourceCode .sh_number{color:#a900a9;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_preproc{color:#00b800;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_symbol{color:#f00;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_function{color:#000;font-weight:bold;font-style:normal;}.sh_typical .sh_sourceCode .sh_cbracket{color:#f00;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_url{color:#f00;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_date{color:#00f;font-weight:bold;font-style:normal;}.sh_typical .sh_sourceCode .sh_time{color:#00f;font-weight:bold;font-style:normal;}.sh_typical .sh_sourceCode .sh_file{color:#00f;font-weight:bold;font-style:normal;}.sh_typical .sh_sourceCode .sh_ip{color:#f00;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_name{color:#f00;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_variable{color:#ec7f15;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_oldfile{color:#C42DA8;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_newfile{color:#f00;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_difflines{color:#00f;font-weight:bold;font-style:normal;}.sh_typical .sh_sourceCode .sh_selector{color:#ec7f15;font-weight:normal;font-style:normal;}.sh_typical .sh_sourceCode .sh_property{color:#00f;font-weight:bold;font-style:normal;}.sh_typical .sh_sourceCode .sh_value{color:#f00;font-weight:normal;font-style:normal;} 2 | 3 | .snippet-wrap {position:relative;} 4 | *:first-child+html .snippet-wrap {display:inline-block;} 5 | * html .snippet-wrap {display:inline-block;} 6 | .snippet-reveal{text-decoration:underline;} 7 | .snippet-wrap .snippet-menu, .snippet-wrap .snippet-hide {position:absolute; top:10px; right:15px; font-size:.9em;z-index:1;background-color:transparent;} 8 | .snippet-wrap .snippet-hide {top:auto; bottom:10px;} 9 | *:first-child+html .snippet-wrap .snippet-hide {bottom:25px;} 10 | * html .snippet-wrap .snippet-hide {bottom:25px;} 11 | .snippet-wrap .snippet-menu pre, .snippet-wrap .snippet-hide pre {background-color:transparent; margin:0; padding:0;} 12 | .snippet-wrap .snippet-menu a, .snippet-wrap .snippet-hide a {padding:0 5px; text-decoration:underline;} 13 | .snippet-wrap pre.sh_sourceCode{ 14 | line-height:1.8em;overflow:auto;position:relative;white-space:pre-wrap; 15 | } 16 | .snippet-wrap pre.snippet-textonly {padding:2em;} 17 | *:first-child+html .snippet-wrap pre.snippet-formatted {padding:2em 1em;} 18 | * html .snippet-wrap pre.snippet-formatted {padding:2em 1em;} 19 | .snippet-reveal pre.sh_sourceCode {padding:.5em 1em; text-align:right;} 20 | .snippet-wrap .snippet-num li{padding-left:1.5em;} 21 | .snippet-wrap .snippet-no-num{list-style:none; padding:0; margin:0;} 22 | .snippet-wrap .snippet-no-num li {list-style:none; padding-left:0;} 23 | .snippet-wrap .snippet-num {margin:1em 0 1em 1em; padding-left:3em;} 24 | .snippet-wrap .snippet-num li {list-style:decimal-leading-zero outside none;} 25 | .snippet-wrap .snippet-no-num li.box {padding:0 6px; margin-left:-6px;} 26 | .snippet-wrap .snippet-num li.box {border:1px solid; list-style-position:inside; margin-left:-3em; padding-left:6px;} 27 | *:first-child+html .snippet-wrap .snippet-num li.box {margin-left:-2.4em;} 28 | * html .snippet-wrap .snippet-num li.box {margin-left:-2.4em;} 29 | .snippet-wrap li.box-top {border-width:1px 1px 0 !important;} 30 | .snippet-wrap li.box-bot {border-width:0 1px 1px !important;} 31 | .snippet-wrap li.box-mid {border-width:0 1px !important;} 32 | .snippet-wrap .snippet-num li .box-sp {width:18px; display:inline-block;} 33 | *:first-child+html .snippet-wrap .snippet-num li .box-sp {width:27px;} 34 | * html .snippet-wrap .snippet-num li .box-sp {width:27px;} 35 | .snippet-wrap .snippet-no-num li.box {border:1px solid;} 36 | .snippet-wrap .snippet-no-num li .box-sp {display:none;} -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/content.inline.min.css: -------------------------------------------------------------------------------- 1 | .mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px!important;height:9px!important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid red;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid green;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#39f!important}.mce-edit-focus{outline:1px dotted #333} -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/content.min.css: -------------------------------------------------------------------------------- 1 | body{background-color:#FFF;color:#000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px}.mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px!important;height:9px!important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid red;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid green;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#39f!important}.mce-edit-focus{outline:1px dotted #333} -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/fonts/readme.md: -------------------------------------------------------------------------------- 1 | Icons are generated and provided by the http://icomoon.io service. 2 | -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/fonts/tinymce-small.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/fonts/tinymce-small.eot -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/fonts/tinymce-small.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/fonts/tinymce-small.ttf -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/fonts/tinymce-small.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/fonts/tinymce-small.woff -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/fonts/tinymce.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/fonts/tinymce.eot -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/fonts/tinymce.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/fonts/tinymce.ttf -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/fonts/tinymce.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/fonts/tinymce.woff -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/img/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/img/anchor.gif -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/img/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/img/loader.gif -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/img/object.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/img/object.gif -------------------------------------------------------------------------------- /src/js/lib/tinymce4/skins/lightgray/img/trans.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwrc/DEPRECATED-CWRC-Writer/e7614d1479b7c881d8522a06798d5598dbddb5b1/src/js/lib/tinymce4/skins/lightgray/img/trans.gif -------------------------------------------------------------------------------- /src/js/modules/relations.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui'], function($, jqueryUi) { 2 | 3 | /** 4 | * @class Relations 5 | * @param {Object} config 6 | * @param {Writer} config.writer 7 | * @param {String} config.parentId 8 | */ 9 | return function(config) { 10 | 11 | var w = config.writer; 12 | 13 | $('#'+config.parentId).append('
'+ 14 | '
    '+ 15 | '
    '+ 16 | ''+ 17 | '
    '+ 18 | '
    '); 19 | $(document.body).append(''+ 20 | '' 23 | ); 24 | 25 | $('#relations div.ui-layout-south button:eq(0)').button().click(function() { 26 | w.dialogManager.show('triple'); 27 | }); 28 | $('#relations div.ui-layout-south button:eq(1)').button().click(function() { 29 | var selected = $('#relations ul li.selected'); 30 | if (selected.length == 1) { 31 | var i = selected.data('index'); 32 | w.triples.splice(i, 1); 33 | pm.update(); 34 | } else { 35 | w.dialogManager.show('message', { 36 | title: 'No Relation Selected', 37 | msg: 'You must first select a relation to remove.', 38 | type: 'error' 39 | }); 40 | } 41 | }); 42 | 43 | w.event('documentLoaded').subscribe(function() { 44 | pm.update(); 45 | }); 46 | w.event('schemaLoaded').subscribe(function() { 47 | pm.update(); 48 | }); 49 | 50 | /** 51 | * @lends Relations.prototype 52 | */ 53 | var pm = { 54 | currentlySelectedNode: null 55 | }; 56 | 57 | pm.layout = $('#relations').layout({ 58 | defaults: { 59 | resizable: false, 60 | slidable: false, 61 | closable: false 62 | }, 63 | south: { 64 | size: 'auto', 65 | spacing_open: 0 66 | } 67 | }); 68 | 69 | /** 70 | * Update the list of relations. 71 | */ 72 | pm.update = function() { 73 | $('#relations ul').empty(); 74 | 75 | var relationsString = ''; 76 | 77 | for (var i = 0; i < w.triples.length; i++) { 78 | var triple = w.triples[i]; 79 | relationsString += '
  • '+triple.subject.text+' '+triple.predicate.text+' '+triple.object.text+'
  • '; 80 | } 81 | 82 | $('#relations ul').html(relationsString); 83 | 84 | $('#relations ul li').each(function(index, el) { 85 | $(this).data('index', index); 86 | }).click(function() { 87 | $(this).addClass('selected').siblings().removeClass('selected'); 88 | }).contextMenu('relationsMenu', { 89 | bindings: { 90 | 'removeRelation': function(r) { 91 | var i = $(r).data('index'); 92 | w.triples.splice(i, 1); 93 | pm.update(); 94 | } 95 | }, 96 | shadow: false, 97 | menuStyle: { 98 | backgroundColor: '#FFFFFF', 99 | border: '1px solid #D4D0C8', 100 | boxShadow: '1px 1px 2px #CCCCCC', 101 | padding: '0px', 102 | width: '105px' 103 | }, 104 | itemStyle: { 105 | fontFamily: 'Tahoma,Verdana,Arial,Helvetica', 106 | fontSize: '11px', 107 | color: '#000', 108 | lineHeight: '20px', 109 | padding: '0px', 110 | cursor: 'pointer', 111 | textDecoration: 'none', 112 | border: 'none' 113 | }, 114 | itemHoverStyle: { 115 | color: '#000', 116 | backgroundColor: '#DBECF3', 117 | border: 'none' 118 | } 119 | }); 120 | }; 121 | 122 | // add to writer 123 | w.relations = pm; 124 | 125 | return pm; 126 | }; 127 | 128 | }); -------------------------------------------------------------------------------- /src/js/modules/selection.js: -------------------------------------------------------------------------------- 1 | define(['jquery','jquery.snippet'], function($, snippet) { 2 | 3 | /** 4 | * @class Selection 5 | * @param {Object} config 6 | * @param {Writer} config.writer 7 | * @param {String} config.parentId 8 | */ 9 | return function(config) { 10 | 11 | var w = config.writer; 12 | 13 | var lastUpdate = new Date().getTime(); 14 | 15 | $('#'+config.parentId).append('
    '); 16 | $(document.body).append(''); 17 | 18 | w.event('nodeChanged').subscribe(function() { 19 | updateSelection(w.editor); 20 | }); 21 | w.event('tagSelected').subscribe(function(tagId) { 22 | updateSelection(w.editor); 23 | }); 24 | 25 | /** 26 | * @lends Selection.prototype 27 | */ 28 | var selection = {}; 29 | 30 | function updateSelection(ed) { 31 | var timestamp = new Date().getTime(); 32 | var timeDiff = timestamp - lastUpdate; // track to avoid double update on nodeChanged/tagSelected combo 33 | if ($('#selection').is(':visible') && timeDiff > 250) { 34 | lastUpdate = new Date().getTime(); 35 | var range = ed.selection.getRng(true); 36 | var contents = range.cloneContents(); 37 | $('#selectionContents').html(contents); 38 | var xmlString = w.converter.buildXMLString($('#selectionContents')); 39 | var escapedContents = w.utilities.escapeHTMLString(xmlString); //$('#selectionContents')[0].innerHTML 40 | if (escapedContents.length < 100000 && escapedContents != '\uFEFF') { 41 | $('#selection').html('
    '+escapedContents+'
    '); 42 | $('#selection > pre').snippet('html', { 43 | style: 'typical', 44 | transparent: true, 45 | showNum: false, 46 | menu: false 47 | }); 48 | } else { 49 | $('#selection').html('
    The selection is too large to display.
    '); 50 | } 51 | } 52 | } 53 | 54 | // add to writer 55 | w.selection = selection; 56 | 57 | return selection; 58 | }; 59 | 60 | }); -------------------------------------------------------------------------------- /src/js/schema/cwrcEntry/dialogs/citation.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogForm'], function($, jqueryUi, DialogForm) { 2 | 3 | return function(id, writer) { 4 | var w = writer; 5 | 6 | var html = ''+ 7 | '
    '+ 8 | '
    '+ 9 | '

    Citation

    '+ 10 | '
    '+ 11 | ''+ 12 | '
    '; 13 | 14 | var dialog = new DialogForm({ 15 | writer: w, 16 | id: id, 17 | width: 385, 18 | height: 250, 19 | type: 'citation', 20 | title: 'Tag Citation', 21 | html: html 22 | }); 23 | 24 | dialog.$el.on('beforeShow', function(e, config, dialog) { 25 | var cwrcInfo = dialog.currentData.cwrcInfo; 26 | if (cwrcInfo !== undefined) { 27 | $('#'+id+'_ref').val(cwrcInfo.id); 28 | } 29 | }); 30 | 31 | return { 32 | show: function(config) { 33 | dialog.show(config); 34 | } 35 | }; 36 | }; 37 | 38 | }); -------------------------------------------------------------------------------- /src/js/schema/cwrcEntry/dialogs/correction.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogForm'], function($, jqueryUi, DialogForm) { 2 | 3 | return function(id, writer) { 4 | var w = writer; 5 | 6 | var html = ''+ 7 | '
    '+ 8 | '
    '+ 9 | '

    Correction

    '+ 10 | '
    '+ 11 | '
    '; 12 | 13 | var dialog = new DialogForm({ 14 | writer: w, 15 | id: id, 16 | width: 385, 17 | height: 250, 18 | type: 'correction', 19 | title: 'Tag Correction', 20 | html: html 21 | }); 22 | 23 | return { 24 | show: function(config) { 25 | dialog.show(config); 26 | } 27 | }; 28 | }; 29 | 30 | }); -------------------------------------------------------------------------------- /src/js/schema/cwrcEntry/dialogs/keyword.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogForm', 'jquery.watermark'], function($, jqueryUi, DialogForm) { 2 | 3 | return function(id, writer) { 4 | var w = writer; 5 | 6 | var html = ''+ 7 | '
    '+ 8 | '
    '+ 9 | ''+ 10 | '
    '+ 11 | '
    '; 12 | 13 | var dialog = new DialogForm({ 14 | writer: w, 15 | id: id, 16 | type: 'keyword', 17 | title: 'Tag Keyword', 18 | height: 200, 19 | width: 275, 20 | html: html 21 | }); 22 | 23 | return { 24 | show: function(config) { 25 | dialog.show(config); 26 | } 27 | }; 28 | }; 29 | 30 | }); -------------------------------------------------------------------------------- /src/js/schema/cwrcEntry/dialogs/link.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'dialogForm'], function($, jqueryUi, DialogForm) { 2 | 3 | return function(id, writer) { 4 | var w = writer; 5 | 6 | var html = ''+ 7 | '
    '+ 8 | '
    '+ 9 | ''+ 10 | ''+ 11 | ''+ 12 | '
    '+ 13 | '
    '; 14 | 15 | var dialog = new DialogForm({ 16 | writer: w, 17 | id: id, 18 | width: 345, 19 | height: 125, 20 | type: 'link', 21 | title: 'Tag Link', 22 | html: html 23 | }); 24 | 25 | $('#'+id+'Dialog button').button().click(function() { 26 | var src = $('#'+id+'_input').val(); 27 | if (src != '') { 28 | if (src.match(/^https?:\/\//) == null) { 29 | src = 'http://'+src; 30 | } 31 | try { 32 | window.open(src, 'linkTestWindow'); 33 | } catch(e) { 34 | alert(e); 35 | } 36 | } 37 | }); 38 | 39 | return { 40 | show: function(config) { 41 | dialog.show(config); 42 | } 43 | }; 44 | }; 45 | 46 | }); -------------------------------------------------------------------------------- /src/js/schema/cwrcEntry/dialogs/note.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'jquery-ui', 'tinymce', 'dialogForm'], function($, jqueryUi, tinymce, DialogForm) { 2 | 3 | return function(id, writer) { 4 | var w = writer; 5 | 6 | var iframe = null; 7 | var cwrcWriter = null; 8 | 9 | var html = ''+ 10 | '
    '+ 11 | '
    '+ 12 | '
    '+ 13 | ''+ 14 | ''+ 15 | '
    '+ 16 | '
    '+ 17 | '
    '+ 18 | '