Skip to content
Snippets Groups Projects
Verified Commit b1b770f9 authored by Shane Kilkelly's avatar Shane Kilkelly Committed by David Mehren
Browse files

Mostly working selection of output files from another project

parent 62ca5304
No related branches found
No related tags found
No related merge requests found
...@@ -345,7 +345,7 @@ script(type='text/ng-template', id='newDocModalTemplate') ...@@ -345,7 +345,7 @@ script(type='text/ng-template', id='newDocModalTemplate')
// Project Linked Files Modal // Project Linked Files Modal
script(type='text/ng-template', id='projectLinkedFileModalTemplate') script(type='text/ng-template', id='projectLinkedFileModalTemplate')
.modal-header .modal-header
h3 New file from Project ({{ isOutputFiles }}) h3 New file from Project ({{ isOutputFilesMode }})
.modal-body .modal-body
div div
...@@ -369,7 +369,7 @@ script(type='text/ng-template', id='projectLinkedFileModalTemplate') ...@@ -369,7 +369,7 @@ script(type='text/ng-template', id='projectLinkedFileModalTemplate')
) {{ project.name }} ) {{ project.name }}
br br
.form-controls .form-controls(ng-if="!isOutputFilesMode")
label(for="project-entity-select") Select a File label(for="project-entity-select") Select a File
span(ng-show="state.inFlight.entities") span(ng-show="state.inFlight.entities")
|   |  
...@@ -384,6 +384,22 @@ script(type='text/ng-template', id='projectLinkedFileModalTemplate') ...@@ -384,6 +384,22 @@ script(type='text/ng-template', id='projectLinkedFileModalTemplate')
ng-repeat="projectEntity in data.projectEntities" ng-repeat="projectEntity in data.projectEntities"
value="{{ projectEntity.path }}" value="{{ projectEntity.path }}"
) {{ projectEntity.path.slice(1) }} ) {{ projectEntity.path.slice(1) }}
.form-controls(ng-if="isOutputFilesMode")
label(for="project-entity-select") Select an Output File
span(ng-show="state.inFlight.compile")
|  
i.fa.fa-spinner.fa-spin
select.form-control(
name="project-output-file-select"
ng-model="data.selectedProjectOutputFile"
ng-disabled="!shouldEnableProjectOutputFileSelect()"
)
option(value="" disabled selected) - Please Select an Output File
option(
ng-repeat="outputFile in data.projectOutputFiles"
value="{{ outputFile.path }}"
) {{ outputFile.path }}
br br
.form-controls .form-controls
......
...@@ -53,7 +53,7 @@ define [ ...@@ -53,7 +53,7 @@ define [
scope: $scope scope: $scope
resolve: { resolve: {
parent_folder: () -> ide.fileTreeManager.getCurrentFolder() parent_folder: () -> ide.fileTreeManager.getCurrentFolder()
isOutputFiles: () -> false isOutputFilesMode: () -> false
} }
) )
...@@ -67,7 +67,7 @@ define [ ...@@ -67,7 +67,7 @@ define [
scope: $scope scope: $scope
resolve: { resolve: {
parent_folder: () -> ide.fileTreeManager.getCurrentFolder() parent_folder: () -> ide.fileTreeManager.getCurrentFolder()
isOutputFiles: () -> true isOutputFilesMode: () -> true
} }
) )
...@@ -230,10 +230,10 @@ define [ ...@@ -230,10 +230,10 @@ define [
] ]
App.controller "ProjectLinkedFileModalController", [ App.controller "ProjectLinkedFileModalController", [
"$scope", "ide", "$modalInstance", "$timeout", "parent_folder", "isOutputFiles", "$scope", "ide", "$modalInstance", "$timeout", "parent_folder", "isOutputFilesMode",
($scope, ide, $modalInstance, $timeout, parent_folder, isOutputFiles) -> ($scope, ide, $modalInstance, $timeout, parent_folder, isOutputFilesMode) ->
$scope.isOutputFiles = isOutputFiles $scope.isOutputFilesMode = isOutputFilesMode
console.log ">>>> LINKED", isOutputFiles console.log ">>>> LINKED", isOutputFilesMode
$scope.data = $scope.data =
projects: null # or [] projects: null # or []
...@@ -241,6 +241,7 @@ define [ ...@@ -241,6 +241,7 @@ define [
projectEntities: null # or [] projectEntities: null # or []
projectOutputFiles: null # or [] projectOutputFiles: null # or []
selectedProjectEntity: null selectedProjectEntity: null
selectedProjectOutputFile: null
name: null name: null
$scope.state = $scope.state =
inFlight: inFlight:
...@@ -253,7 +254,7 @@ define [ ...@@ -253,7 +254,7 @@ define [
$scope.$watch 'data.selectedProjectId', (newVal, oldVal) -> $scope.$watch 'data.selectedProjectId', (newVal, oldVal) ->
return if !newVal return if !newVal
$scope.data.selectedProjectEntity = null $scope.data.selectedProjectEntity = null
if isOutputFiles if isOutputFilesMode
$scope.compileProjectAndGetOutputFiles($scope.data.selectedProjectId) $scope.compileProjectAndGetOutputFiles($scope.data.selectedProjectId)
else else
$scope.getProjectEntities($scope.data.selectedProjectId) $scope.getProjectEntities($scope.data.selectedProjectId)
...@@ -265,6 +266,13 @@ define [ ...@@ -265,6 +266,13 @@ define [
if fileName if fileName
$scope.data.name = fileName $scope.data.name = fileName
# auto-set filename based on selected file
$scope.$watch 'data.selectedProjectOutputFile', (newVal, oldVal) ->
return if !newVal
fileName = newVal.split('/').reverse()[0]
if fileName
$scope.data.name = fileName
_setInFlight = (type) -> _setInFlight = (type) ->
$scope.state.inFlight[type] = true $scope.state.inFlight[type] = true
...@@ -295,12 +303,12 @@ define [ ...@@ -295,12 +303,12 @@ define [
data.selectedProjectId && data.selectedProjectId &&
( (
( (
!isOutputFiles && !isOutputFilesMode &&
data.projectEntities && data.projectEntities &&
data.selectedProjectEntity data.selectedProjectEntity
) || ) ||
( (
isOutputFiles && isOutputFilesMode &&
data.projectOutputFiles && data.projectOutputFiles &&
data.selectedProjectOutputFile data.selectedProjectOutputFile
) )
...@@ -332,17 +340,22 @@ define [ ...@@ -332,17 +340,22 @@ define [
.catch (err) -> .catch (err) ->
_reset(err: true) _reset(err: true)
window._C = $scope.compileProjectAndGetOutputFiles = (project_id) => $scope.compileProjectAndGetOutputFiles = (project_id) =>
_setInFlight('compile') _setInFlight('compile')
$http.post("/project/${project_id}/compile", { ide.$http.post("/project/#{project_id}/compile", {
check: "silent", check: "silent",
draft: false, draft: false,
incrementalCompilesEnabled: false incrementalCompilesEnabled: false
_csrf: window.csrfToken _csrf: window.csrfToken
}) })
.then (data) -> .then (resp) ->
console.log ">> COMPILE", data console.log ">> COMPILE", resp.data
if resp.data.status == 'success'
$scope.data.projectOutputFiles = resp.data.outputFiles
_reset(err: false) _reset(err: false)
else
$scope.data.projectOutputFiles = null
_reset(err: true)
.catch (err) -> .catch (err) ->
console.error(err) console.error(err)
_reset(err: true) _reset(err: true)
...@@ -354,7 +367,7 @@ define [ ...@@ -354,7 +367,7 @@ define [
$scope.create = () -> $scope.create = () ->
projectId = $scope.data.selectedProjectId projectId = $scope.data.selectedProjectId
name = $scope.data.name name = $scope.data.name
if isOutputFiles if isOutputFilesMode
provider = 'project_output_file' provider = 'project_output_file'
payload = { payload = {
source_project_id: projectId, source_project_id: projectId,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment