1// ============================================================================== 2// mediaPortal.js 3// ============================================================================== 4 5// ------------------------------------------------------------------------------ 6// openMediaPopup 7// ------------------------------------------------------------------------------ 8function openMediaPopup(title) { 9 jQuery('body').addClass('modal-open'); 10 setCloseStatus(true); 11 12 loadingSearchPopup('start'); 13 14 jQuery(".modal.media-bibl").show(); 15 jQuery('.h4-media-bibl').text(title); 16 17 jQuery('.modal-close').click(function() { 18 jQuery(this).closest('.modal').hide(); 19 jQuery('body').removeClass('modal-open'); 20 }); 21 jQuery('.cancel').click(function() { 22 jQuery(this).closest('.modal').hide(); 23 jQuery('body').removeClass('modal-open'); 24 }); 25 //Clear Search Input 26 jQuery('.report-filter-clear.media, .modal-close, .cancel').click(function(event) { 27 jQuery(".sendMedia").css({"display": "none"}) ; 28 jQuery(".result-media").css({"display": "none"}) ; 29 jQuery(".keyword-filter").val('') ; 30 jQuery(".result-media").text('') ; 31 }); 32 33 // key enter in field name-filter-off 34 //isEnterClick(); 35} 36 37// ------------------------------------------------------------------------------ 38// stopAction 39// ------------------------------------------------------------------------------ 40function stopAction(event) { 41 event.preventDefault(); 42 event.stopPropagation(); 43 event.stopImmediatePropagation(); 44} 45 46// ------------------------------------------------------------------------------ 47// Close Media Modal 48// schlieÃe das Fenster und gehe in den Media iframe zur Auswahlseite 49// ------------------------------------------------------------------------------ 50function closeAndClearMedia(thiswindow,iframe) { 51 jQuery('.neos-footer > a',jQuery(iframe)).click(); //todo 52 jQuery('.neos-breadcrumb > a',jQuery(iframe)).click(); 53 jQuery('.neos-footer > a',jQuery(iframe)).trigger("click"); //todo 54 jQuery('.neos-footer > a',jQuery(iframe)).text("Zurück zur Media Sammlungen"); 55 var iframe = $('body', $('#neos-media')[0].contentWindow.document); 56 jQuery('body').removeClass('modal-open'); 57 thiswindow.hide(); 58} 59 60 61// ------------------------------------------------------------------------------ 62// Set Button Image 63// der Bereich wird nur einmal hinzugefügt 64// ------------------------------------------------------------------------------ 65function setButtonImage(iframe) { 66 67 // Dokument oder Image 68 if (jQuery(iframe).find('#neos-preview-image').length) { 69 var image = jQuery(iframe).find('#neos-preview-image > a > img').attr('src'); 70 var imagetext = 'Bild'; 71 if (image.indexOf("doc") > 0) { 72 var imagetext = 'Dokument'; 73 } 74 } 75 if(jQuery('#neos-image',jQuery(iframe)).length) { 76 // nicht mehr hinzufügen 77 } else { 78 jQuery(iframe).find('#neos-preview-image').prepend('<div id="neos-image" class="neos-image">'+imagetext+' auswählen</div>'); 79 } 80 81 // PDF 82 if(jQuery('#neos-image-pdf',jQuery(iframe)).length) { 83 // nicht mehr hinzufügen 84 } else { 85 jQuery(iframe).find('#neos-preview-pdf').prepend('<div id="neos-image-pdf" class="neos-image">PDF auswählen</div>'); 86 } 87 88 jQuery(iframe).find('.neos-image').css({ 89 "font-size": "1.5rem", 90 "font-weight": "bold", 91 "padding": ".7rem ", 92 "border": "none", 93 "border-radius": "3rem", 94 "color": "#ffffff", 95 "float": "left", 96 "letter-spacing": "normal !important", 97 "display": "block", 98 "background-color": "#34a665", 99 "margin-top": "1rem", 100 "cursor": "pointer", 101 "z-index": 1, 102 "line-height": "1.3", 103 "position":"absolute" 104 }); 105} 106 107// ------------------------------------------------------------------------------ 108// Show Neos Media Bibliothek 109// ------------------------------------------------------------------------------ 110jQuery('#add-media-bibl').click(function(event) { 111 openMediaPopup('Media Bibliothek'); 112 loadingSearchPopup('stoploading'); 113 114 //FrameBody 115 var iframe = $('body', $('#neos-media')[0].contentWindow.document); 116 jQuery('.sendMedia').addClass('display-no'); 117 118 //Remove Media Menue 119 $(iframe).ready(function() { 120 jQuery('#neos-top-bar',jQuery(iframe)).remove(); 121 jQuery('.neos-menu',jQuery(iframe)).remove(); 122 jQuery('.neos-breadcrumb',jQuery(iframe)).remove();
123 // Bei Klick auf Thumbnail speichert die URL des Thumbnails in localStorage Wichtig hier beim 1x laden 124 jQuery(iframe).on('click', '.neos-thumbnail', function(event) { 125 var thumbnailSrc = jQuery(this).find('.neos-img-container img').attr('src'); 126 localStorage.setItem('thumbnailSrc',thumbnailSrc); 127 }); 128 }); 129 130 jQuery('#neos-media').on('load', function() { 131 var iframe = jQuery("#neos-media").contents(); 132 133 //Entfernen der Bearbeitungs Button von Neos ausser Abbrechen 134 jQuery('.neos-footer > a',jQuery(iframe)).text("Zurück zur Media Sammlungen"); 135 jQuery('.neos-breadcrumb',jQuery(iframe)).remove(); 136 jQuery('#neos-top-bar',jQuery(iframe)).remove(); 137 jQuery('.neos-menu',jQuery(iframe)).remove(); 138 jQuery('.neos-button',jQuery(iframe)) 139 .not('.neos-action-cancel',jQuery(iframe)) 140 .not('#save',jQuery(iframe)) 141 .remove(); 142 143 // Bei Klick auf Thumbnail speichert die URL des Thumbnails in localStorage 144 jQuery(iframe).on('click', '.neos-thumbnail', function(event) { 145 var thumbnailSrc = jQuery(this).find('.neos-img-container img').attr('src'); 146 localStorage.setItem('thumbnailSrc',thumbnailSrc); 147 }); 148 149 // Button zum Auswählen des Bildes auf Bild-Detailseite einfügen 150 setButtonImage(iframe); 151 152 // Bei Klick auf Button "Bild auswählen" speichert die URL des groÃen Bildes in localStorage 153 jQuery(iframe).on('click', '#neos-image, #neos-image-pdf', function(event) { 154 var image = jQuery(iframe).find('#neos-preview-image > a > img').attr('src'); 155 var title = jQuery(iframe).find('#title').val(); 156 var caption = jQuery(iframe).find('#caption').val(); 157 var copyright = jQuery(iframe).find('#copyrightnotice').val(); 158 159 if (jQuery(iframe).find('#neos-preview-pdf').length) { 160 var pdf = jQuery(iframe).find('#neos-preview-pdf').data('asset-preview-url'); 161 var image = pdf; 162 } 163 164 if (image.indexOf("doc") > 0) { 165 var image = jQuery(iframe).find('#neos-preview-image > a ').attr('href'); 166 } 167 168 if (image.indexOf("mov") > 0 || image.indexOf("mp4") > 0) { 169 var image = jQuery(iframe).find('#neos-preview-image > a ').attr('href'); 170 } 171 172 if (typeof image == 'undefined') { var image = ''; } 173 if (typeof pdf == 'undefined') { var pdf = ''; } 174 175 //localStorage.setItem('image',image); 176 //localStorage.setItem('title',title); 177 //localStorage.setItem('pdf',pdf); 178 179 // Ãbernehmen der Media Daten in die Input Felder 180 jQuery("#add-media").triggerHandler("click"); 181 var thumbnailSrc = localStorage.getItem('thumbnailSrc'); 182 var idvalue = jQuery('.pos-add-media').last().data('idvalue') -1; 183 jQuery('.'+idvalue+'-media-mediaName').val(title); 184 jQuery('[name='+idvalue+'-media-mediaDescription]').val(caption); 185 jQuery('[name='+idvalue+'-media-mediaAltText]').val(caption); 186 jQuery('[name='+idvalue+'-media-url]').val(image); 187 jQuery('[name='+idvalue+'-media-previewUrl]').val(thumbnailSrc); 188 jQuery('[name='+idvalue+'-media-copyright]').val(copyright); 189 190 //Push App 191 jQuery('[name=push-imageURL]').val(image); 192 193 // SchlieÃen des Fensters 194 closeAndClearMedia(jQuery('.media-bibl'),iframe); 195 196 // Stop Action 197 stopAction(event); 198 }); 199 }); 200 201}); 202 203// ----------------------------------------------------------------------------- 204// add Media - hinzufügen von Media (Bilder, Documente,) 205// ------------------------------------------------------------------------------ 206jQuery('#add-media').click(function(event) { 207 var iddiv = '#' + jQuery('.pos-add-media').data('idmedia'); 208 var idvalue = jQuery('.pos-add-media').last().data('idvalue'); 209 var option = jQuery('.pos-add-media').first().data('select'); 210 var lang = jQuery("#selection-language").val(); 211 var idnew = idvalue + 1; 212 213 if (lang == 'en') { 214 neuesMedia = 'New Media'; 215 bildid = 'New Media'; 216 bildname = 'medianame'; 217 bilddisc = 'mediadescription'; 218 copyright = 'Copyright'; 219 bildrole = 'Role'; 220 bildedit = 'changeable'; 221 alttext = 'mediaalttext'; 222 ja = 'yes' ;
223 nein = 'no' ; 224 } else if (lang == 'fr') { 225 neuesMedia = 'New Media'; 226 bildid = 'Nouvelle Media'; 227 bildname = 'Nom'; 228 bilddisc = 'Description'; 229 copyright = 'Copyright'; 230 bildrole = 'Rôle'; 231 alttext = 'mediaalttext'; 232 bildedit = 'changeant'; 233 ja = 'oui' ; 234 nein = 'non' ; 235 } else { 236 neuesMedia = 'Neues Medium'; 237 bildid = 'Neues Medium'; 238 bildname = 'Name'; 239 bilddisc = 'Beschreibung'; 240 alttext = 'Alternativ Text'; 241 copyright = 'Copyright'; 242 bildrole = 'Rolle'; 243 bildedit = 'änderbar'; 244 ja = 'ja' ; 245 nein = 'nein' ; 246 } 247 jQuery(iddiv) 248 .css({"display": "block"}); 249 250 divh4 = jQuery('<h4 class="clear-both data-container-header" style="margin-bottom:20px;" />') 251 .attr({'name':idnew+'-media-h4','id':idnew+'-media-h4'}) 252 .text(neuesMedia) 253 .appendTo(iddiv); 254 255 //del total 256 var totaldel = jQuery('<span class="icon-minus details-button-no del-media"/>') 257 .data('id',idnew) 258 // .text('-') 259 .appendTo(divh4); 260 svg = jQuery(setIcon('minus')).appendTo(totaldel); 261 262 // ---- Bildid 263 divlabel = jQuery('<div class="floatLeft div-form-label display-no" style="clear:both;" />') 264 .addClass('pos-add-media') 265 .data('idvalue',idnew ) 266 .appendTo(iddiv); 267 labelID = jQuery('<label><span></span></label> ') 268 .attr('id','label_'+idnew+'-media-mediaId') 269 .text(bildid) 270 .appendTo(divlabel); 271 divinput = jQuery('<div class="display-no"/>') 272 .appendTo(iddiv); 273 inputID = jQuery('<input type="text" />') 274 .attr({'type':'text','name':idnew+'-media-mediaId','readonly':'true'}) 275 .val(0) 276 .appendTo(divinput); 277 278 // ---- Name 279 divlabel = jQuery('<div class="floatLeft div-form-label" style="clear:both;" />') 280 .appendTo(iddiv); 281 labelID = jQuery('<label><span></span></label> ') 282 .attr('id','label_'+idnew+'-media-mediaName') 283 .text(bildname) 284 .appendTo(divlabel); 285 divinput = jQuery('<div />') 286 .appendTo(iddiv); 287 inputID = jQuery('<input type="text" />') 288 .attr({'type':'text','name':idnew+'-media-mediaName','class':idnew+'-media-mediaName','required':'required'}) 289 .appendTo(divinput) 290 .focus(); 291 292 // ---- Beschreibung 293 divlabel = jQuery('<div class="floatLeft div-form-label" style="clear:both;" />') 294 .appendTo(iddiv); 295 labelID = jQuery('<label><span></span></label> ') 296 .attr('id','label_'+idnew+'-media-mediaDescription') 297 .text(bilddisc) 298 .appendTo(divlabel); 299 divinput = jQuery('<div />') 300 .appendTo(iddiv); 301 inputID = jQuery('<input type="text" />') 302 .attr({'type':'text','name':idnew+'-media-mediaDescription'}) 303 .appendTo(divinput); 304 305 // ---- Alternativ Text 306 divlabel = jQuery('<div class="floatLeft div-form-label" style="clear:both;" />') 307 .appendTo(iddiv); 308 labelID = jQuery('<label><span></span></label> ') 309 .attr('id','label_'+idnew+'-media-mediaAltText') 310 .text(alttext) 311 .appendTo(divlabel); 312 divinput = jQuery('<div />') 313 .appendTo(iddiv); 314 inputID = jQuery('<input type="text" />') 315 .attr({'type':'text','name':idnew+'-media-mediaAltText'}) 316 .appendTo(divinput); 317 318 // ---- Url 319 divlabel = jQuery('<div class="floatLeft div-form-label" style="clear:both;" />') 320 .appendTo(iddiv); 321 labelID = jQuery('<label><span></span></label> ') 322 .attr('id','label_'+idnew+'-media-url') 323 .text('Url') 324 .appendTo(divlabel); 325 divinput = jQuery('<div />') 326 .appendTo(iddiv); 327 inputID = jQuery('<input type="text" />') 328 .attr({'type':'url','name':idnew+'-media-url'}) 329 .appendTo(divinput); 330 331 // ---- Vorschau Url 332 divlabel = jQuery('<div class="floatLeft div-form-label" style="clear:both;" />') 333 .appendTo(iddiv); 334 labelID = jQuery('<label><span></span></label> ') 335 .attr('id','label_'+idnew+'-media-previewUrl') 336 .text('Vorschau Url') 337 .appendTo(divlabel); 338 divinput = jQuery('<div />') 339 .appendTo(iddiv); 340 inputID = jQuery('<input type="text" />') 341 .attr({'type':'url','name':idnew+'-media-previewUrl'}) 342 .appendTo(divinput); 343 344 // ---- CopyRight 345 divlabel = jQuery('<div class="floatLeft div-form-label" style="clear:both;" />') 346 .appendTo(iddiv); 347 labelID = jQuery('<label><span></span></label> ') 348 .attr('id','label_'+idnew+'-media-copyright') 349 .text(copyright) 350 .appendTo(divlabel); 351 divinput = jQuery('<div />') 352 .appendTo(iddiv); 353 inputID = jQuery('<input type="text" />')
354 .attr({'type':'text','name':idnew+'-media-copyright'}) 355 .appendTo(divinput); 356 357 // ---- Role 358 divlabel = jQuery('<div class="floatLeft div-form-label" style="clear:both;" />') 359 .appendTo(iddiv); 360 labelID = jQuery('<label><span></span></label> ') 361 .attr('id','label_'+idnew+'-media-mediaRoleId') 362 .text(bildrole) 363 .appendTo(divlabel); 364 divinput = jQuery('<div />') 365 .appendTo(iddiv); 366 inputID = jQuery('<select />') 367 .attr({'type':'text','name':idnew+'-media-mediaRoleId','class':idnew+'-media-mediaRoleId','required':'required'}) 368 .addClass('pos-add-media') 369 .data({'select':option,'idvalue':idnew+1}) 370 .append(option) 371 .appendTo(divinput); 372 373 jQuery('.'+idnew+'-media-mediaRoleId').find('option:selected').removeAttr('selected'); 374 jQuery('.'+idnew+'-media-mediaRoleId').find('option:disabled').removeAttr('disabled'); 375 jQuery('.'+idnew+'-media-mediaRoleId option').first().attr('selected','selected'); 376 377 var idshow = idnew + '-media-'; 378 var idlabel = 'label_' + idshow; 379 jQuery('[id^='+idshow+']').toggle('fast'); 380 jQuery('[name^='+idshow+']').toggle('fast'); 381 jQuery('[id^='+idlabel+']').toggle('fast'); 382 383 jQuery('.'+idnew+'-media-mediaName').focus(); 384 385 //Function 386 jQuery('.del-media').click(function(event) { 387 var id = jQuery(this).data('id'); 388 delMedia(this); 389 event.stopPropagation(); 390 event.stopImmediatePropagation(); 391 }); 392 393}); 394 395// ----------------------------------------------------------------------------- 396// show Details Media 397// ------------------------------------------------------ 398jQuery('.show-details-media-button').click(function(event) { 399 var id = jQuery(this).data('id') + '-media-'; 400 var idlabel = 'label_' + id; 401 jQuery('[id^='+id+']').toggle('slow','linear'); 402 jQuery('[id^='+idlabel+']').toggle('slow','linear'); 403 event.stopPropagation(); 404 event.stopImmediatePropagation(); 405}); 406 407// ----------------------------------------------------------------------------- 408// delete Media 409// ------------------------------------------------------------------------------ 410jQuery('.del-media').click(function(event) { 411 delMedia(this); 412 event.stopPropagation(); 413 event.stopImmediatePropagation(); 414}); 415 416function delMedia(row) { 417 var id = jQuery(row).data('id'); 418 var r = confirm('Wollen Sie diese Media mit der Nummer ' + id + ' wirklich löschen?\nDo they really want to delete this media'); 419 if (r == true) { 420 //bei bestehenden Medias 421 var mediabox = id + '-mediaremove'; 422 jQuery('[id^='+mediabox+']').remove(); 423 424 //bei neu hinzugefügten Elementen 425 var elements = id + '-media'; 426 var labels = 'label_' + id + '-media'; 427 jQuery('[id^='+elements+']').remove(); 428 jQuery('[name^='+elements+']'+'+ label').remove(); 429 jQuery('[name^='+elements+']').remove(); 430 jQuery('[id^='+labels+']').remove(); 431 432 jQuery(this).remove(); 433 jQuery(row).remove(); 434 } 435} 436 437 438 439 440
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.