From 7ad996ce7c6aefe112044d74d73fd640d20d8dfa Mon Sep 17 00:00:00 2001 From: Dan Cryer Date: Thu, 16 May 2013 01:59:27 +0100 Subject: [PATCH] Separate JS and CSS into external files. See #18 --- PHPCI/View/Build.phtml | 99 +------------------- PHPCI/View/Layout.phtml | 63 +------------ PHPCI/View/ProjectForm.phtml | 74 +-------------- assets/css/phpci.css | 42 +++++++++ assets/js/.DS_Store | Bin 6148 -> 0 bytes assets/js/phpci.js | 171 +++++++++++++++++++++++++++++++++++ 6 files changed, 224 insertions(+), 225 deletions(-) create mode 100644 assets/css/phpci.css delete mode 100644 assets/js/.DS_Store create mode 100644 assets/js/phpci.js diff --git a/PHPCI/View/Build.phtml b/PHPCI/View/Build.phtml index b34722a0..15ad8304 100644 --- a/PHPCI/View/Build.phtml +++ b/PHPCI/View/Build.phtml @@ -64,104 +64,15 @@ -getStatus() == 0 || $build->getStatus() == 1 || true): ?> - - - - - - - + \ No newline at end of file diff --git a/assets/css/phpci.css b/assets/css/phpci.css new file mode 100644 index 00000000..076a5d59 --- /dev/null +++ b/assets/css/phpci.css @@ -0,0 +1,42 @@ +body +{ + background: #246; + font-family: Roboto, Arial, Sans-Serif; + font-style: normal; + font-weight: 300; + padding-top: 70px; +} + +#content +{ + background: #fff; + border: 10px solid #369; + padding: 10px; +} + +.widget-title, .modal-header, .table th, div.dataTables_wrapper .ui-widget-header, .ui-dialog .ui-dialog-titlebar { + background-color: #efefef; + background-image: -webkit-gradient(linear, 0 0%, 0 100%, from(#fdfdfd), to(#eaeaea)); + background-image: -webkit-linear-gradient(top, #fdfdfd 0%, #eaeaea 100%); + background-image: -moz-linear-gradient(top, #fdfdfd 0%, #eaeaea 100%); + background-image: -ms-linear-gradient(top, #fdfdfd 0%, #eaeaea 100%); + background-image: -o-linear-gradient(top, #fdfdfd 0%, #eaeaea 100%); + background-image: -linear-gradient(top, #fdfdfd 0%, #eaeaea 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#eaeaea',GradientType=0 ); /* IE6-9 */ + border-bottom: 1px solid #CDCDCD; +} + +#title +{ + background: #f8f8f8; + border-bottom: 1px solid #ccc; + margin: -10px -10px 15px -10px; + padding: 10px; +} + + #title h1 + { + font-size: 2em; + margin: 0; + padding: 0; + } \ No newline at end of file diff --git a/assets/js/.DS_Store b/assets/js/.DS_Store deleted file mode 100644 index e018eaeb4221dfd6c62ebb717a7c5d4cb1859c67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOH0E*5Z>)WBP!$~^tgB~($Z=@cnG0_M^D1)-RuY12V;!eOTW*U$rv+05jh$)g6`T-LnkA0IY#QO(uEhsUd=Fn z(}myOW+}^<%M!Nv{a@Z94AQLE`{s>itG%~xfE>-HLFC6PJ6=Y9dgsjJl@s_+o}1iD zJ9D#TYP*Sy+`8EuBGR73aR~NIXHNq^n?IPH^?EQm?~4BLBJYazXw>V9;ovgQ4?xUM zSp4;=5OzX;*SH-QjRs2@BzlgLSCFC3ghS*yk$k1Nk|M31H=F^u;UEqgTXl5 zaUN*-!~ij{%>eEX0u<5GSSXZR2Q+wn#&`=61#EmvAPS9^#zG-PK)5OeRHa-$F}NxR zztDM>#zLVgXI#z<M%K_;k NAPJ#{82AMSegOS(NK^m- diff --git a/assets/js/phpci.js b/assets/js/phpci.js new file mode 100644 index 00000000..49c758f7 --- /dev/null +++ b/assets/js/phpci.js @@ -0,0 +1,171 @@ +/** +* Used for delete buttons in the system, just to prevent accidental clicks. +*/ +function confirmDelete(url) +{ + if(confirm('Are you sure you want to delete this?')) + { + window.location.href = url; + } + else + { + return false; + } +} + +/** +* Updates the build screen. Called at regular intervals on /build/view/X +*/ +function updateBuildView(data) +{ + $('#status').attr('class', 'alert'); + + var cls; + var msg; + + switch(data.status) + { + case 0: + cls = 'alert-info'; + msg = 'This build has not yet started.'; + break; + + case 1: + cls = 'alert-warning'; + msg = 'This build is in progress.'; + break; + + case 2: + cls = 'alert-success'; + msg = 'This build was successful!'; + break; + + case 3: + cls = 'alert-error'; + msg = 'This build has failed.'; + break; + } + + $('#status').addClass(cls).text(msg); + + if(data.created) + { + $('#created').text(data.created); + } + else + { + $('#created').text('Not created yet.'); + } + + if(data.started) + { + $('#started').text(data.started); + } + else + { + $('#started').text('Not started yet.'); + } + + if(data.finished) + { + $('#finished').text(data.finished); + } + else + { + $('#finished').text('Not finished yet.'); + } + + if(data.plugins) + { + $('#plugins').empty(); + + for(var plugin in data.plugins) + { + var row = $('').addClass(data.plugins[plugin] ? 'success' : 'error'); + var name = $('').html('' + plugin + ''); + var status = $('').text(data.plugins[plugin] ? 'OK' : 'Failed'); + + row.append(name); + row.append(status); + $('#plugins').append(row); + } + } + else + { + var row = $(''); + var col = $('').attr('colspan', 2).text('No plugins have run yet.'); + + row.append(col); + $('#plugins').empty().append(row); + } + + $('#log').html(data.log); +} + +/** +* Used to initialise the project form: +*/ +function setupProjectForm() +{ + $('#element-reference').change(function() + { + var el = $(this); + var val = el.val(); + + var acceptable = { + 'github_ssh': /git\@github\.com\:([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/, + 'github_git': /git\:\/\/github.com\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/, + 'github_http': /https\:\/\/github\.com\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)(\.git)?/, + 'bb_ssh': /git\@bitbucket\.org\:([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/, + 'bb_http': /https\:\/\/[a-zA-Z0-9_\-]+\@bitbucket.org\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/, + 'bb_anon': /https\:\/\/bitbucket.org\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)(\.git)?/ + }; + + for(var i in acceptable) { + if(val.match(acceptable[i])) { + el.val(val.replace(acceptable[i], '$1')); + } + } + }); + + $('#element-type').change(function() + { + if(!window.github_app_id || $(this).val() != 'github' || window.github_token) { + return; + } + + // Show sign in with Github button. + var el = $('#element-reference'); + var rtn = window.return_url; + var url = 'https://github.com/login/oauth/authorize?client_id=' + window.github_app_id + '&scope=repo&redirect_uri=' + rtn; + var btn = $('').addClass('btn btn-inverse').text('Sign in with Github').attr('href', url); + + el.after(btn); + el.remove(); + }); + + $('#element-github').change(function() + { + var val = $('#element-github').val(); + + if(val != 'choose') { + $('#element-type').val('github'); + $('#element-reference').val(val); + + $('label[for=element-reference]').hide(); + $('label[for=element-type]').hide(); + $('#element-reference').hide(); + $('#element-type').hide(); + $('#element-token').val(window.github_token); + $('#element-title').val(val); + } + else { + $('label[for=element-reference]').show(); + $('label[for=element-type]').show(); + $('#element-reference').show(); + $('#element-type').show(); + $('#element-reference').val(''); + $('#element-token').val(''); + } + }); +} \ No newline at end of file