Skip to content
This repository has been archived by the owner on Feb 8, 2019. It is now read-only.

Commit

Permalink
Merge pull request #85 from jmohler1970/FW/1
Browse files Browse the repository at this point in the history
FW/1
  • Loading branch information
jmohler1970 committed Oct 20, 2015
2 parents d2a6bf0 + 84d01f9 commit 6af625f
Show file tree
Hide file tree
Showing 42 changed files with 1,807 additions and 198 deletions.
20 changes: 15 additions & 5 deletions application.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
component extends="framework.one" accessors="true" {


this.name="bs-4-cf-45";
this.name="bs-4-cf-51";
this.applicationManagement = true;
this.sessionManagement = true;

Expand Down Expand Up @@ -48,16 +48,26 @@ function setupApplication() {
cache = {content = "Bootstrap", language = "i18n" }, // Only Bootstrap should use this

// i18n options
langRoot = expandPath("lang") & "/",
langRoot = expandPath("vendor/lang") & "/",
arLang = [],

actionRoot = cgi.script_name,
validLook = ["", "link", "default", "primary", "success", "info", "warning", "danger"], // There does not guarantee they are valid

iconLibrary = {"default" = "glyphicon glyphicon-", "awesome" = "fa fa-", "jquery-ui" = "ui-icon ui-icon-"}, // be sure to include ending dashes
imageLibrary = {"default" = replace(cgi.script_name, "/index.cfm", "") & "/assets/"}, // used by b:graphicImage
styleSheetLibrary = {"default" = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"}, // used by b:outputStyleSheet
scriptLibrary = {"default" = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js", local="assets/"} // used by b:outputScript

// used by b:outputStyleSheet
styleSheetLibrary = {"default" = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css",
local = replace(cgi.script_name, "/index.cfm", "") & "/assets/",
vendor = replace(cgi.script_name, "/index.cfm", "") & "/vendor/"
},

// used by b:outputScript
scriptLibrary = {"default" = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js",
local = replace(cgi.script_name, "/index.cfm", "") & "/assets/",
vendor = replace(cgi.script_name, "/index.cfm", "") & "/vendor/"
}
};


Expand Down Expand Up @@ -134,7 +144,7 @@ function setupRequest() {


local.i18n = {};
local.i18n.append( local.languageService.readPHP( expandPath("lang") & "/") ); // traditional language file
local.i18n.append( local.languageService.readPHP(application.Bootstrap.langroot) ); // traditional language file
// simple append won't work
local.stTitle = local.languageService.readProperties( expandPath(".") & "/title.properties" );

Expand Down
10 changes: 5 additions & 5 deletions assets/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ $( document ).ready(function() {






$('[data-toggle="popover"]').popover();
$('[data-toggle="tooltip"]').tooltip();


$('select.select2').select2();

$('table.datatables').DataTable();
$('table.datatables').DataTable({
paging : false,
order : [[ 1, "asc" ]]
});

});
});
100 changes: 100 additions & 0 deletions assets/hotkeys.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
/*
* jQuery Hotkeys Plugin
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* Based upon the plugin by Tzury Bar Yochay:
* http://github.com/tzuryby/hotkeys
*
* Original idea by:
* Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/
*/

(function(jQuery){

jQuery.hotkeys = {
version: "0.8",

specialKeys: {
8: "backspace", 9: "tab", 13: "return", 16: "shift", 17: "ctrl", 18: "alt", 19: "pause",
20: "capslock", 27: "esc", 32: "space", 33: "pageup", 34: "pagedown", 35: "end", 36: "home",
37: "left", 38: "up", 39: "right", 40: "down", 45: "insert", 46: "del",
96: "0", 97: "1", 98: "2", 99: "3", 100: "4", 101: "5", 102: "6", 103: "7",
104: "8", 105: "9", 106: "*", 107: "+", 109: "-", 110: ".", 111 : "/",
112: "f1", 113: "f2", 114: "f3", 115: "f4", 116: "f5", 117: "f6", 118: "f7", 119: "f8",
120: "f9", 121: "f10", 122: "f11", 123: "f12", 144: "numlock", 145: "scroll", 191: "/", 224: "meta"
},

shiftNums: {
"`": "~", "1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&",
"8": "*", "9": "(", "0": ")", "-": "_", "=": "+", ";": ": ", "'": "\"", ",": "<",
".": ">", "/": "?", "\\": "|"
}
};

function keyHandler( handleObj ) {
// Only care when a possible input has been specified
if ( typeof handleObj.data !== "string" ) {
return;
}

var origHandler = handleObj.handler,
keys = handleObj.data.toLowerCase().split(" "),
textAcceptingInputTypes = ["text", "password", "number", "email", "url", "range", "date", "month", "week", "time", "datetime", "datetime-local", "search", "color"];

handleObj.handler = function( event ) {
// Don't fire in text-accepting inputs that we didn't directly bind to
if ( this !== event.target && (/textarea|select/i.test( event.target.nodeName ) ||
jQuery.inArray(event.target.type, textAcceptingInputTypes) > -1 ) ) {
return;
}

// Keypress represents characters, not special keys
var special = event.type !== "keypress" && jQuery.hotkeys.specialKeys[ event.which ],
character = String.fromCharCode( event.which ).toLowerCase(),
key, modif = "", possible = {};

// check combinations (alt|ctrl|shift+anything)
if ( event.altKey && special !== "alt" ) {
modif += "alt+";
}

if ( event.ctrlKey && special !== "ctrl" ) {
modif += "ctrl+";
}

// TODO: Need to make sure this works consistently across platforms
if ( event.metaKey && !event.ctrlKey && special !== "meta" ) {
modif += "meta+";
}

if ( event.shiftKey && special !== "shift" ) {
modif += "shift+";
}

if ( special ) {
possible[ modif + special ] = true;

} else {
possible[ modif + character ] = true;
possible[ modif + jQuery.hotkeys.shiftNums[ character ] ] = true;

// "$" can be triggered as "Shift+4" or "Shift+$" or just "$"
if ( modif === "shift+" ) {
possible[ jQuery.hotkeys.shiftNums[ character ] ] = true;
}
}

for ( var i = 0, l = keys.length; i < l; i++ ) {
if ( possible[ keys[i] ] ) {
return origHandler.apply( this, arguments );
}
}
};
}

jQuery.each([ "keydown", "keyup", "keypress" ], function() {
jQuery.event.special[ this ] = { add: keyHandler };
});

})( jQuery );
32 changes: 12 additions & 20 deletions layouts/default.cfm
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
<!--- jQuery UI support --->
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet">

<!--- bootstrap.wysihtml5 --->
<b:outputStyleSheet library="vendor" name="bootstrap-wysiwyg.css" />


<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>

Expand All @@ -55,7 +58,11 @@
<script src="https://cdn.datatables.net/1.10.8/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.8/js/dataTables.bootstrap.min.js"></script>

<b:outputScript library="local" name="application.js" />

<!--- bootstrap.wysihtml5 --->
<b:outputScript library="local" name="hotkeys.js" />
<b:outputScript library="vendor" name="bootstrap-wysiwyg.js" />
<b:outputScript library="local" name="application.js" />


<b:outputStyleSheet name="application.css" processed="#IIF(getItem() EQ 'image', 1, 0)#" />
Expand All @@ -78,33 +85,18 @@ padding-top: 50px;
border:1px solid ##ddd;
border:1px solid rgba(86,61,124,.2)
}
</style>


<script type="text/javascript">
$( document ).ready(function() {
$('[data-toggle="popover"]').popover();
$('[data-toggle="tooltip"]').tooltip();
#editor {overflow:scroll; max-height:300px}
</style>

$('select.select2').select2();
$('table.datatables').DataTable({
paging : false,
order : [[ 1, "asc" ]]
});

});
</script>


</b:head>

<body>

<a href="https://github.com/jmohler1970/BS-4-CF"><img style="position: absolute; top: 0; right: 0; border: 0; z-index: 2000" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub"></a>


<b:container>

Expand Down
3 changes: 2 additions & 1 deletion layouts/menu.cfm
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@
<b:navLink value="Include" href="~/docs/include" />
</b:dropMenu>

<b:dropMenu value="JavaScript" active="#ArrayContains(['modal','tab','poll'], getItem())#">
<b:dropMenu value="JavaScript" active="#ArrayContains(['wysiwyg','modal','tab','poll'], getItem())#">
<b:navLink value="WYSIWIG Editor" href="~/docs/wysiwyg" icon="pencil" />
<b:navLink value="Modal" href="~/docs/modal" icon="modal-window" />
<b:navLink value="Tab" href="~/docs/tab" icon="folder-close" />
<b:navLink value="Poll" href="~/docs/poll" icon="refresh" />
Expand Down
4 changes: 4 additions & 0 deletions title.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ brand = Bootstrap for ColdFusion
common = <a href="~/common">See Common Features</a>
examples = Examples
introduction = Introduction
key_for_cache = Key is only used to create total cacheid. This tag does not do i18n lookup
panel_attribute = Attribute
try_me = Try It!

Expand All @@ -15,6 +16,7 @@ brand = Bootstrap para el ColdFusion
common = <a href="~/common">Ver características comunes</a>
examples = Ejemplos
introduction = Introducción
key_for_cache = Key is only used to create total cacheid. This tag does not do i18n lookup
panel_attribute = Atributo
try_me = Inténtalo

Expand All @@ -24,6 +26,7 @@ brand = Bootstrap per ColdFusion
common = <a href="~/common">Vedere caratteristiche comuni</a>
examples = Esempi
introduction = Introduzione
key_for_cache = Key is only used to create total cacheid. This tag does not do i18n lookup
panel_attribute = Attribo
try_me = Provalo

Expand All @@ -33,6 +36,7 @@ brand = Bootstrap para o ColdFusion
common = <a href="~/common">Ver características comuns</a>
examples = Exemplos
introduction = Introdução
key_for_cache = Key is only used to create total cacheid. This tag does not do i18n lookup
panel_attribute = Atributo
try_me = Experimente

40 changes: 40 additions & 0 deletions vendor/bootstrap-wysiwyg.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/* this CSS is not part of the widget, it is here just as an example of the demo page styling.... Don't copy this one, roll your own. One
* of the key things about the widget is that it allows you to do your own styling!
*/

.wysiwyg {
max-height: 250px;
height: 250px;
background-color: white;
border-collapse: separate;
border: 1px solid rgb(204, 204, 204);
padding: 4px;
box-sizing: content-box;
-webkit-box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px 0px inset;
box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px 0px inset;
border-top-right-radius: 3px; border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px; border-top-left-radius: 3px;
overflow: scroll;
outline: none;
}
#voiceBtn {
width: 20px;
color: transparent;
background-color: transparent;
transform: scale(2.0, 2.0);
-webkit-transform: scale(2.0, 2.0);
-moz-transform: scale(2.0, 2.0);
border: transparent;
cursor: pointer;
box-shadow: none;
-webkit-box-shadow: none;
}

div[data-role="editor-toolbar"] {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
margin-top:10px;margin-bottom:10px;
}

Loading

0 comments on commit 6af625f

Please sign in to comment.