Fix bug on adding skills to new tasks
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- frontend
Línea de trabajo
Comienza localizando task.new skill-typeahead-result y el componente projectSkillsList; después, sigue cómo se comprueba la colección de skills seleccionadas. Verifica que el project skill existente aparezca como seleccionado en los resultados de búsqueda y que al hacer clic en él se elimine sin crear un duplicado; revisa los servicios x-SkillsList relacionados si el flujo del componente lo requiere.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
From @begedin:
If I add a skill using the project skill list, then try to search for the same skill in the dropdown, it will appear "uncrossed", as if not yet added, in the results:

Even though it looks incorrect, clicking it will still remove it, not add a duplicate, so at least the background logic works.
Basically,
-
skill-typeahead-resultusually usesservice:x-skills.includes(skill)to determine if skill has already been added. this method is NOT easily rewritten into something else -
In the case of
task.new, theskill-typeahead-resultinstead uses just anarray.includes(skill), but this no longer works when we add project skills into the mix, because those areDS.PromiseObjectrecords, notDS.Modelrecords. This happened to work because the method was named the same, but the proper method to use here isarray.isAny('id', skillId)so it works with bothDS.ModelandDS.PromiseObjectrecords -
monkeypatch the
includesmethod in this specific case - quick and dirty, definitely against it -
wrap the unsaved skills collection into another service, which makes it work - clean, but makes thing worse in the long run, I think. Another complex service, difficult to follow.
-
rethink the
projectSkillsListcomponent added here. make it an extremely simpleskills-item-listcomponent which just receives and renders a list of skills. let the controller handle the exclusion of already added skills, etc. - clean and doesn't make things worse; a good compromise. -
rewrite the services, rethink them, really. now that I got back into them, I found them extremely difficult to follow and, especially with "sometimes" accessing the
contentproperty of proxy objects, ex:
return records.any((found) => {
let targetId = get(target, 'id');
let targetModelName =
get(target, 'constructor.modelName') || get(target, 'content.constructor.modelName');
let foundId = found.belongsTo(targetModelName).id();
return (foundId === targetId);
});
I think, with proper controller usage, the whole x-SkillsList collection of services could be almost if not completely eliminated.
- Lenguaje dominante
- JavaScript
- Estrellas
- 120
- Forks
- 75
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de code-corps/code-corps-ember
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
code-corps/code-corps-ember#1616 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
code-corps/code-corps-ember#1613 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
code-corps/code-corps-ember#1612 ·
-
Difficulty: Medium Skill: ember-cli-page-object
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
code-corps/code-corps-ember#1063 · 1 reacción ·
-
greenkeeper
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
code-corps/code-corps-ember#1765 · 1 comentario ·
Todos los issues de code-corps/code-corps-ember
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
[quality] useFocusTrap's Shift+Tab wrap and non-Tab/non-Escape key arms are never driven end to endPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5n31 quality testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
[aw] Upgrade availableAbiertoagentic-workflows
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
githubnext/gh-aw-workshop#4220 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
JuliusBrussee/caveman#1189 ·
Los mantenedores suelen responder en 1 día
-
priority:low ready-for-dev
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OpenHands/extensions#738 ·
Los mantenedores suelen responder en 1 día