Form: Add default properties for a new object?
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- typescript
- Domínio
- frontend
Direção de pesquisa
Comece em src/widgets/forms.js por volta da linha 273 e compare como ui:Multiple lida com ui:part em relação aos padrões ui:category, ui:targetClass e ui:from descritos na issue. Determine qual abordagem deve definir as default properties de um objeto recém-criado, usando o exemplo sosa:Observation como caso de aceitação. Considera-se concluído quando o novo objeto recebe seu rdf:type padrão e solid-panes consegue renderizar seu formulário.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When using ui:Multiple, currently a new object is created and linked to the subject with the specified ui:property.
https://github.com/solid/solid-ui/blob/c4ad302f361cc4a1de24941a475cb66333c43805/src/widgets/forms.js#L273
The form to use for the new object is then specified by ui:part
It appears there is currently no way to specify default properties for the new object, e.g. its rdf:type.
For rdf:type in particular, this means that forms for the new object will not be rendered by solid-panes, which discovers the relevant form based on its class.
Possible solutions
I don't whether there is a need for a more general templating mechanism, but at least for rdf:type, a solution could be to allow ui:Multiple to also use ui:category (as for ui:Classifier) or ui:targetClass (as for ui:Autocomplete)
Another option would be to specify ui:from (as for ui:Choice) instead of ui:part, and choose the ui:creationForm based on the specified rdfs:Class.
Example use case
Generating a new observation
sosa:Observation ui:annotationForm :ObsForm.
:ObservationList ui:annotationForm :ObsListForm.
:ObsListForm
a ui:Multiple;
ui:part :ObsForm;
ui:property rdfs:member;
ui:category sosa:Observation.
:ThisObsList a :ObservationList.
Creating a new object in :ThisObsList would generate:
:ThisObsList rdfs:member :id1639432788935.
:id1639432788935 a sosa:Observation.
Edit: I've got an patch using ui:category here: https://github.com/josephguillaume/my-solidos-patches/blob/2860861f3ce4ddde9a8b0831ca520e4492878991/solid-ui.diff#L32
Edit: incidentally it's possible to get the desired behaviour by using ui:reverse with rdf:type as the ui:property
sosa:Observation ui:annotationForm :ObsForm.
:dummyClass ui:annotationForm :ObsListForm.
sosa:Observation a :dummyClass.
:ObsListForm
a ui:Multiple;
ui:part :ObsForm;
ui:reverse 1;
ui:property rdf:type.
Visiting sosa:Observation builds a form for :dummyClass which generates triples:
:newsubject a sosa:Observation
This might be more of a curiosity than a real solution.
- Linguagem predominante
- TypeScript
- Estrelas
- 153
- Forks
- 46
- Merge médio
- 1d 5h
- PRs com merge (30d)
- 10
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de SolidOS/solid-ui
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
Mantenedores costumam responder em até 1 dia
-
Sharing Dialog: Name on sharing with area for contactsTalvez já em andamento @SharonStrats assumiu há 2 dias. Abertaquestion
SolidOS/solid-ui#885 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Vite warningAbertaenhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 64/100
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
Mantenedores costumam responder em até 1 dia
-
Move file explorer group action buttonsTalvez livre de novo @SharonStrats assumiu há 74 dias e não há nenhum pull request aberto. Abertaenhancement
SolidOS/solid-ui#848 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de SolidOS/solid-ui
Issues semelhantes
-
check:passed streams:add
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 2 dias
-
beta technical-medium ui
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
walletbeat/walletbeat#1625 ·
Mantenedores costumam responder em até 1 dia
-
[Good First Issue]: Add unit tests for NetworkVersionInfoTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. AbertaGood First Issue hacktoberfest
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
hiero-ledger/hiero-sdk-js#4489 ·
Mantenedores costumam responder em até 1 dia
-
[Bug] The clients language filter cannot select the rows the page labels as unknownTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
apache/rocketmq-dashboard#6103 ·
Mantenedores costumam responder em até 4 dias
-
Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
payloadcms/payload#18652 ·
Mantenedores costumam responder em até 1 dia