| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /* eslint-disable
- max-len,
- no-return-assign,
- no-unused-vars,
- */
- // TODO: This file was created by bulk-decaffeinate.
- // Fix any style issues and re-enable lint.
- /*
- * decaffeinate suggestions:
- * DS102: Remove unnecessary code created because of implicit returns
- * DS207: Consider shorter variations of null checks
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
- import App from '../../../base'
- const MAX_PROJECT_NAME_LENGTH = 150
- export default App.controller(
- 'ProjectNameController',
- function ($scope, $element, settings, ide) {
- const projectNameReadOnlyEl = $element.find('.name')[0]
- $scope.state = {
- renaming: false,
- overflowed: false,
- }
- $scope.inputs = {}
- $scope.startRenaming = function () {
- $scope.inputs.name = $scope.project.name
- $scope.state.renaming = true
- return $scope.$emit('project:rename:start')
- }
- $scope.finishRenaming = function () {
- $scope.state.renaming = false
- const newName = $scope.inputs.name
- if ($scope.project.name === newName) {
- return
- }
- const oldName = $scope.project.name
- $scope.project.name = newName
- return settings
- .saveProjectSettings({ name: $scope.project.name })
- .catch(function (response) {
- const { data, status } = response
- $scope.project.name = oldName
- if (status === 400) {
- return ide.showGenericMessageModal('Error renaming project', data)
- } else {
- return ide.showGenericMessageModal(
- 'Error renaming project',
- 'Please try again in a moment'
- )
- }
- })
- }
- ide.socket.on('projectNameUpdated', name =>
- $scope.$apply(() => ($scope.project.name = name))
- )
- return $scope.$watch('project.name', function (name) {
- if (name != null) {
- window.document.title =
- name + ` - Online LaTeX Editor ${ExposedSettings.appName}`
- return $scope.$applyAsync(
- () =>
- // This ensures that the element is measured *after* the binding is done (i.e. project name is rendered).
- ($scope.state.overflowed =
- projectNameReadOnlyEl.scrollWidth >
- projectNameReadOnlyEl.clientWidth)
- )
- }
- })
- }
- )
|