From 1303a5aa7b8e81640e62e840b3d9a542bbb4b060 Mon Sep 17 00:00:00 2001 From: Shish Date: Thu, 9 Feb 2012 15:00:33 +0000 Subject: [PATCH] move giant notes inline script into its own file --- contrib/notes/script.js | 72 ++++++++++++++++++++ contrib/notes/theme.php | 145 +++++++--------------------------------- 2 files changed, 96 insertions(+), 121 deletions(-) create mode 100644 contrib/notes/script.js diff --git a/contrib/notes/script.js b/contrib/notes/script.js new file mode 100644 index 00000000..13aa4f54 --- /dev/null +++ b/contrib/notes/script.js @@ -0,0 +1,72 @@ +$(function() { + $('#main_image').imgNotes(); //If your notes data is is not named notes pass it + + $('#cancelnote').click(function(){ + $('#main_image').imgAreaSelect({ hide: true }); + $('#noteform').hide(); + }); + + $('#EditCancelNote').click(function() { + $('#main_image').imgAreaSelect({ hide: true }); + $('#noteEditForm').hide(); + }); + + $('#addnote').click(function(){ + $('#noteEditForm').hide(); + $('#main_image').imgAreaSelect({ onSelectChange: showaddnote, x1: 120, y1: 90, x2: 280, y2: 210 }); + return false; + }); + + $('.note').click(function() { + $('#noteform').hide(); + var imgOffset = $('#main_image').offset(); + + var x1 = parseInt(this.style.left) - imgOffset.left; + var y1 = parseInt(this.style.top) - imgOffset.top; + var width = parseInt(this.style.width); + var height = parseInt(this.style.height); + var text = $(this).next('.notep').text().replace(/([^>]?)\\n{2}/g, '$1\\n'); + var id = $(this).next('.notep').next('.noteID').text(); + + $('#main_image').imgAreaSelect({ onSelectChange: showeditnote, x1: x1, y1: y1, x2: x1 + width, y2: y1 + height }); + setEditNoteData(x1, y1, width, height, text, id); + }); +}); + +function showaddnote (img, area) { + imgOffset = $(img).offset(); + form_left = parseInt(imgOffset.left) + parseInt(area.x1); + form_top = parseInt(imgOffset.top) + parseInt(area.y1) + parseInt(area.height)+5; + + $('#noteform').css({ left: form_left + 'px', top: form_top + 'px'}); + $('#noteform').show(); + $('#noteform').css('z-index', 10000); + $('#NoteX1').val(area.x1); + $('#NoteY1').val(area.y1); + $('#NoteHeight').val(area.height); + $('#NoteWidth').val(area.width); +} + +function showeditnote (img, area) { + imgOffset = $(img).offset(); + form_left = parseInt(imgOffset.left) + area.x1; + form_top = parseInt(imgOffset.top) + area.y2; + + $('#noteEditForm').css({ left: form_left + 'px', top: form_top + 'px'}); + $('#noteEditForm').show(); + $('#noteEditForm').css('z-index', 10000); + $('#EditNoteX1').val(area.x1); + $('#EditNoteY1').val(area.y1); + $('#EditNoteHeight').val(area.height); + $('#EditNoteWidth').val(area.width); +} + +function setEditNoteData(x1, y1, width, height, text, id) { + $('#EditNoteX1').val(x1); + $('#EditNoteY1').val(y1); + $('#EditNoteHeight').val(height); + $('#EditNoteWidth').val(width); + $('#EditNoteNote').text(text); + $('#EditNoteID').val(id); + $('#DeleteNoteNoteID').val(id); +} diff --git a/contrib/notes/theme.php b/contrib/notes/theme.php index 4d0e1d3e..0da3a29e 100644 --- a/contrib/notes/theme.php +++ b/contrib/notes/theme.php @@ -2,25 +2,12 @@ class NotesTheme extends Themelet { public function note_button($image_id) { return ' - - - - -
- - -
- '; + +
+ + +
+ '; } public function request_button($image_id) { return make_form(make_link("note/add_request")) . ' @@ -31,7 +18,7 @@ class NotesTheme extends Themelet { } public function nuke_notes_button($image_id) { return make_form(make_link("note/nuke_notes")) . ' - + '; @@ -45,8 +32,8 @@ class NotesTheme extends Themelet { } public function search_notes_page(Page $page) { //IN DEVELOPMENT, NOT FULLY WORKING - $html = '
- + $html = ' +
'; @@ -62,109 +49,26 @@ class NotesTheme extends Themelet { $page->add_html_header("", 100); $page->add_html_header("", 101); - $html = " + $html = "
".make_form(make_link("note/add_note"))." @@ -224,7 +128,7 @@ class NotesTheme extends Themelet { $html .= "
"; - $page->add_block(new Block(null, $html, "main", 1)); + $page->add_block(new Block(null, $html, "main", 1)); } @@ -369,6 +273,5 @@ class NotesTheme extends Themelet { $this->display_paginator($page, "note/updated", null, $pageNumber, $totalPages); } - - } - ?> +} +?>