Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/application/pholio/behavior-pholio-mock-view.js
| /** | /** | ||||
| * @provides javelin-behavior-pholio-mock-view | * @provides javelin-behavior-pholio-mock-view | ||||
| * @requires javelin-behavior | * @requires javelin-behavior | ||||
| * javelin-util | * javelin-util | ||||
| * javelin-stratcom | * javelin-stratcom | ||||
| * javelin-dom | * javelin-dom | ||||
| * javelin-vector | * javelin-vector | ||||
| * javelin-magical-init | * javelin-magical-init | ||||
| * javelin-request | * javelin-request | ||||
| * javelin-history | * javelin-history | ||||
| * javelin-workflow | * javelin-workflow | ||||
| * javelin-mask | * javelin-mask | ||||
| * javelin-behavior-device | * javelin-behavior-device | ||||
| * phabricator-keyboard-shortcut | * phabricator-keyboard-shortcut | ||||
| * phabricator-fullscreen | |||||
| */ | */ | ||||
| JX.behavior('pholio-mock-view', function(config) { | JX.behavior('pholio-mock-view', function(config) { | ||||
| var is_dragging = false; | var is_dragging = false; | ||||
| var drag_begin; | var drag_begin; | ||||
| var drag_end; | var drag_end; | ||||
| var panel = JX.$(config.panelID); | var panel = JX.$(config.panelID); | ||||
| var viewport = JX.$(config.viewportID); | var viewport = JX.$(config.viewportID); | ||||
| ▲ Show 20 Lines • Show All 558 Lines • ▼ Show 20 Lines | JX.DOM.listen(panel, 'gesture.swipe.end', null, function(e) { | ||||
| } | } | ||||
| switch_image(data.direction == 'right' ? -1 : 1); | switch_image(data.direction == 'right' ? -1 : 1); | ||||
| }); | }); | ||||
| /* -( Render )------------------------------------------------------------- */ | /* -( Render )------------------------------------------------------------- */ | ||||
| JX.Stratcom.listen('click', 'pholio-fullscreen', function(e) { | |||||
| e.kill(); | |||||
| JX.Fullscreen.startFullscreen(JX.$('pholio-mock-image-container')); | |||||
| }); | |||||
| function render_image_info(image) { | function render_image_info(image) { | ||||
| var info = []; | var info = []; | ||||
| var buttons = []; | var buttons = []; | ||||
| buttons.push( | buttons.push( | ||||
| JX.$N( | JX.$N( | ||||
| 'div', | 'div', | ||||
| { | { | ||||
| className: 'pholio-image-button' | className: 'pholio-image-button' | ||||
| }, | }, | ||||
| JX.$N( | JX.$N( | ||||
| image.isViewable ? 'a' : 'span', | image.isViewable ? 'a' : 'span', | ||||
| { | { | ||||
| href: image.fullURI, | href: image.fullURI, | ||||
| target: '_blank', | target: '_blank', | ||||
| className: 'pholio-image-button-link' | className: 'pholio-image-button-link' | ||||
| }, | }, | ||||
| JX.$H(config.fullIcon)))); | JX.$H(config.rawIcon)))); | ||||
| // TODO: This should be a form which performs the download; for now, it | // TODO: This should be a form which performs the download; for now, it | ||||
| // just takes the user to the info page. | // just takes the user to the info page. | ||||
| buttons.push( | buttons.push( | ||||
| JX.$N( | JX.$N( | ||||
| 'div', | 'div', | ||||
| { | { | ||||
| className: 'pholio-image-button' | className: 'pholio-image-button' | ||||
| }, | }, | ||||
| JX.$N( | JX.$N( | ||||
| 'a', | 'a', | ||||
| { | { | ||||
| href: image.downloadURI, | href: image.downloadURI, | ||||
| className: 'pholio-image-button-link' | className: 'pholio-image-button-link' | ||||
| }, | }, | ||||
| JX.$H(config.downloadIcon)))); | JX.$H(config.downloadIcon)))); | ||||
| buttons.push( | |||||
| JX.$N( | |||||
| 'div', | |||||
| { | |||||
| className: 'pholio-image-button' | |||||
| }, | |||||
| JX.$N( | |||||
| 'a', | |||||
| { | |||||
| href: '#', | |||||
| className: 'pholio-image-button-link', | |||||
| sigil: 'pholio-fullscreen' | |||||
| }, | |||||
| JX.$H(config.fullIcon)))); | |||||
| var title = JX.$N( | var title = JX.$N( | ||||
| 'div', | 'div', | ||||
| {className: 'pholio-image-title'}, | {className: 'pholio-image-title'}, | ||||
| image.title); | image.title); | ||||
| info.push(title); | info.push(title); | ||||
| if (!image.isObsolete) { | if (!image.isObsolete) { | ||||
| var embed = JX.$N( | var embed = JX.$N( | ||||
| ▲ Show 20 Lines • Show All 116 Lines • Show Last 20 Lines | |||||