summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/customrecipe.js
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/customrecipe.js')
-rw-r--r--import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/customrecipe.js322
1 files changed, 0 insertions, 322 deletions
diff --git a/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/customrecipe.js b/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/customrecipe.js
deleted file mode 100644
index 8b1c190df..000000000
--- a/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/customrecipe.js
+++ /dev/null
@@ -1,322 +0,0 @@
-"use strict";
-
-function customRecipePageInit(ctx) {
-
- var urlParams = libtoaster.parseUrlParams();
- var customiseTable = $("#selectpackagestable");
- var addPkgDepsModalBtn = $("#add-package-deps-modal-btn");
- var rmdPkgReverseDepsModalBtn = $("#rm-package-reverse-deps-modal-btn");
-
- if (urlParams.hasOwnProperty('notify') && urlParams.notify === 'new'){
- $("#image-created-notification").show();
- }
-
- customiseTable.on('table-done', function(e, total){
- /* Table is done so now setup the click handler for the package buttons */
- $(".add-rm-package-btn").click(function(e){
- e.preventDefault();
- var targetPkg = $(this).data();
-
- checkPackageDeps(targetPkg, function(pkgData){
- if (targetPkg.directive === 'add'){
- /* If we're adding a package we may need to show the modal to advise
- * on dependencies for this package.
- */
- if (pkgData.unsatisfied_dependencies.length === 0){
- addRemovePackage(targetPkg);
- } else {
- showPackageDepsModal(targetPkg, pkgData);
- }
- } else if (targetPkg.directive === 'remove') {
- if (pkgData.reverse_dependencies.length === 0){
- addRemovePackage(targetPkg);
- } else {
- showPackageReverseDepsModal(targetPkg, pkgData);
- }
- }
- });
- });
- });
-
- function checkPackageDeps(targetPkg, doneCb){
- $.ajax({
- type: 'GET',
- url: targetPkg.packageUrl,
- headers: { 'X-CSRFToken' : $.cookie('csrftoken')},
- success: function(data){
- if (data.error !== 'ok'){
- console.warn(data.error);
- return;
- }
- doneCb(data);
- }
- });
- }
-
- function showPackageDepsModal(targetPkg, pkgData){
- var modal = $("#package-deps-modal");
- var depsList = modal.find("#package-add-dep-list");
- var deps = pkgData.unsatisfied_dependencies;
-
- modal.find(".package-to-add-name").text(targetPkg.name);
-
- depsList.text("");
-
- for (var i in deps){
- var li = $('<li></li>').text(deps[i].name);
- li.append($('<span></span>').text(" ("+
- deps[i].size_formatted+")"));
- depsList.append(li);
- }
-
- modal.find("#package-deps-total-size").text(
- pkgData.unsatisfied_dependencies_size_formatted);
-
- targetPkg.depsAdded = deps;
-
- addPkgDepsModalBtn.data(targetPkg);
- modal.modal('show');
- }
-
- addPkgDepsModalBtn.click(function(e){
- e.preventDefault();
-
- addRemovePackage($(this).data(), null);
- });
-
- function showPackageReverseDepsModal(targetPkg, pkgData){
- var modal = $("#package-reverse-deps-modal");
- var depsList = modal.find("#package-reverse-dep-list");
- var deps = pkgData.reverse_dependencies;
-
- var depsCount = deps.length;
- var vDepends = "depends";
- var vPackage = "package";
- var vThis = "this";
- if (depsCount > 1) {
- vDepends = "depend";
- vPackage = "packages";
- vThis = "these";
- }
- modal.find(".package-to-rm-name").text(targetPkg.name);
- modal.find(".reverse-deps-count").text(depsCount);
- modal.find(".reverse-deps-count-plus1").text((depsCount+1) + " packages");
- modal.find(".reverse-deps-depends").text(vDepends);
- modal.find(".reverse-deps-package").text(vPackage);
- modal.find(".reverse-deps-this").text(vThis);
-
- depsList.text("");
-
- for (var i in deps){
- var li = $('<li></li>').text(deps[i].name);
- li.append($('<span></span>').text(" ("+
- deps[i].size_formatted+")"));
- depsList.append(li);
- }
-
- modal.find("#package-reverse-deps-total-size").text(
- pkgData.reverse_dependencies_size_formatted);
-
- targetPkg.depsRemoved = deps;
-
- rmdPkgReverseDepsModalBtn.data(targetPkg);
- modal.modal('show');
- }
-
- rmdPkgReverseDepsModalBtn.click(function(e){
- e.preventDefault();
-
- addRemovePackage($(this).data(), null);
- });
-
-
- function addRemovePackage(targetPkg, tableParams){
- var method;
- var msg = "You have ";
-
- var btnCell = $("#package-btn-cell-" + targetPkg.id);
- var inlineNotify = btnCell.children(".inline-notification");
-
- var i;
- var dep;
- var depBtnCell;
-
- if (targetPkg.directive === 'add') {
- method = 'PUT';
- /* If the package had dependencies also notify that they were added */
- if (targetPkg.hasOwnProperty('depsAdded') &&
- targetPkg.depsAdded.length > 0) {
-
- msg += "added ";
- msg += "<strong>" + (targetPkg.depsAdded.length + 1) + "</strong>";
- msg += " packages to " + ctx.recipe.name + ": ";
- msg += "<strong>" + targetPkg.name + "</strong> and its dependencies";
-
- for (i in targetPkg.depsAdded){
- dep = targetPkg.depsAdded[i];
-
- msg += " <strong>" + dep.name + "</strong>";
-
- /* Add any cells currently in view to the list of cells which get
- * an list-inline notification inside them and which change add/rm state
- */
- depBtnCell = $("#package-btn-cell-" + dep.pk);
- btnCell = btnCell.add(depBtnCell);
-
- inlineNotify = inlineNotify.add(
- depBtnCell.children(".inline-notification"));
- }
-
- inlineNotify.text(
- (targetPkg.depsAdded.length + 1) + " packages added");
-
- } else {
- msg += "added <strong>1</strong>";
- msg += " package to " + ctx.recipe.name + ": ";
- msg += "<strong>" + targetPkg.name + "</strong>";
- inlineNotify.text("1 package added");
- }
-
- } else if (targetPkg.directive === 'remove') {
- method = 'DELETE';
- var numPackageString = "1 package ";
- var revDepList = "";
- if (targetPkg.hasOwnProperty('depsRemoved') &&
- targetPkg.depsRemoved.length > 0) {
- var depsRemovedLength = targetPkg.depsRemoved.length;
- var ending = "y: ";
- var maxRevDepsDisplayed = 5;
- var d = 0;
- if (depsRemovedLength > 1) {
- ending = "ies: ";
- }
- numPackageString = (depsRemovedLength + 1) + " packages";
- revDepList = " and its " + depsRemovedLength + " reverse dependenc" + ending;
- for (i in targetPkg.depsRemoved){
- /* include up to maxRevDepsDisplayed rev deps on the page notification */
- var notShownCount = depsRemovedLength - maxRevDepsDisplayed;
- dep = targetPkg.depsRemoved[i];
- if (d < maxRevDepsDisplayed) {
- if (d > 0) {
- revDepList += ", ";
- }
- revDepList += dep.name;
- d++;
- if ((d === maxRevDepsDisplayed) && (notShownCount > 0)) {
- revDepList += " and " + notShownCount + " more";
- }
- }
-
- /* Add any cells currently in view to the list of cells which get
- * an list-inline notification inside them and which change add/rm state
- */
- depBtnCell = $("#package-btn-cell-" + dep.pk);
- btnCell = btnCell.add(depBtnCell);
-
- inlineNotify = inlineNotify.add(
- depBtnCell.children(".inline-notification"));
- }
- }
- msg+= "removed " + numPackageString + " from " + ctx.recipe.name + ":";
- msg += " <strong>" + targetPkg.name + "</strong>";
- msg += revDepList;
-
- inlineNotify.text(numPackageString + " removed");
- } else {
- throw("Unknown package directive: should be add or remove");
- }
-
- $.ajax({
- type: method,
- url: targetPkg.packageUrl,
- headers: { 'X-CSRFToken' : $.cookie('csrftoken')},
- success: function(data){
- if (data.error !== 'ok'){
- console.warn(data.error);
- return;
- }
-
- libtoaster.showChangeNotification(msg);
-
- /* do the in-cell/inline notification to swap buttoms from add to
- * remove
- */
- btnCell.children("button").fadeOut().promise().done(function(){
- inlineNotify.fadeIn().delay(500).fadeOut(function(){
- if (targetPkg.directive === 'add')
- btnCell.children("button[data-directive=remove]").fadeIn();
- else
- btnCell.children("button[data-directive=add]").fadeIn();
- });
- });
-
- /* Update the total num packages */
- $.ajax({
- type: "GET",
- url: ctx.recipe.xhrPackageListUrl,
- headers: { 'X-CSRFToken' : $.cookie('csrftoken')},
- success: function(data){
- console.log(data);
- $("#total-num-packages").text(data.total);
- $("#total-size-packages").text(data.total_size_formatted);
- }
- });
- }
- });
- }
-
- $("#no-results-show-all-packages").click(function(){
- $(".no-results-search-input").val("");
- });
-
- $("#no-results-remove-search-btn").click(function(){
- $(".no-results-search-input").val("");
- $(this).hide();
- });
-
- /* Trigger a build of your custom image */
- $(".build-custom-image").click(function(){
- libtoaster.startABuild(null, ctx.recipe.name,
- function(){
- window.location.replace(libtoaster.ctx.projectBuildsUrl);
- });
- });
-
- $("#delete-custom-recipe-confirmed").click(function(e){
- e.preventDefault();
- libtoaster.disableAjaxLoadingTimer();
- $(this).find('[data-role="submit-state"]').hide();
- $(this).find('[data-role="loading-state"]').show();
- $(this).attr("disabled", "disabled");
-
- $.ajax({
- type: 'DELETE',
- url: ctx.recipe.xhrCustomRecipeUrl,
- headers: { 'X-CSRFToken' : $.cookie('csrftoken')},
- success: function (data) {
- if (data.error !== "ok") {
- console.warn(data.error);
- } else {
- var msg = $('<span>You have deleted <strong>1</strong> custom image: <strong id="deleted-custom-image-name"></strong></span>');
- msg.find("#deleted-custom-image-name").text(ctx.recipe.name);
-
- libtoaster.setNotification("custom-image-recipe-deleted",
- msg.html());
-
- window.location.replace(data.gotoUrl);
- }
- },
- error: function (data) {
- console.warn(data);
- }
- });
- });
-
- /* Stop the download link from working if it is in disabled state
- * http://getbootstrap.com/css/#forms-disabled-fieldsets
- */
- $("a[disabled=disabled]").click(function(e){
- e.preventDefault();
- });
-
-}
OpenPOWER on IntegriCloud